diff --git a/src/Microsoft.AspNetCore.Razor.Language/ClassifiedSpanVisitor.cs b/src/Microsoft.AspNetCore.Razor.Language/ClassifiedSpanVisitor.cs new file mode 100644 index 000000000..9c19dbe35 --- /dev/null +++ b/src/Microsoft.AspNetCore.Razor.Language/ClassifiedSpanVisitor.cs @@ -0,0 +1,337 @@ +// 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.Diagnostics; +using Microsoft.AspNetCore.Razor.Language.Legacy; +using Microsoft.AspNetCore.Razor.Language.Syntax; + +namespace Microsoft.AspNetCore.Razor.Language +{ + internal class ClassifiedSpanVisitor : SyntaxRewriter + { + private RazorSourceDocument _source; + private List _spans; + private BlockKindInternal _currentBlockKind; + private SyntaxNode _currentBlock; + + public ClassifiedSpanVisitor(RazorSourceDocument source) + { + _source = source; + _spans = new List(); + _currentBlockKind = BlockKindInternal.Markup; + } + + public IReadOnlyList ClassifiedSpans => _spans; + + public override SyntaxNode VisitRazorCommentBlock(RazorCommentBlockSyntax node) + { + return WriteBlock(node, BlockKindInternal.Comment, razorCommentSyntax => + { + WriteSpan(razorCommentSyntax.StartCommentTransition, SpanKindInternal.Transition, AcceptedCharactersInternal.None); + WriteSpan(razorCommentSyntax.StartCommentStar, SpanKindInternal.MetaCode, AcceptedCharactersInternal.None); + + var comment = razorCommentSyntax.Comment; + if (comment.IsMissing) + { + // We need to generate a classified span at this position. So insert a marker in its place. + comment = (SyntaxToken)SyntaxFactory.Token(SyntaxKind.Marker, string.Empty).Green.CreateRed(razorCommentSyntax, razorCommentSyntax.StartCommentStar.EndPosition); + } + WriteSpan(comment, SpanKindInternal.Comment, AcceptedCharactersInternal.Any); + + WriteSpan(razorCommentSyntax.EndCommentStar, SpanKindInternal.MetaCode, AcceptedCharactersInternal.None); + WriteSpan(razorCommentSyntax.EndCommentTransition, SpanKindInternal.Transition, AcceptedCharactersInternal.None); + + return razorCommentSyntax; + }); + } + + public override SyntaxNode VisitCSharpCodeBlock(CSharpCodeBlockSyntax node) + { + if (node.Parent is CSharpStatementBodySyntax || + node.Parent is CSharpExplicitExpressionBodySyntax || + node.Parent is CSharpImplicitExpressionBodySyntax || + node.Parent is RazorDirectiveBodySyntax || + (_currentBlockKind == BlockKindInternal.Directive && + node.Children.Count == 1 && + node.Children[0] is CSharpStatementLiteralSyntax)) + { + return base.VisitCSharpCodeBlock(node); + } + + return WriteBlock(node, BlockKindInternal.Statement, base.VisitCSharpCodeBlock); + } + + public override SyntaxNode VisitCSharpStatement(CSharpStatementSyntax node) + { + return WriteBlock(node, BlockKindInternal.Statement, base.VisitCSharpStatement); + } + + public override SyntaxNode VisitCSharpExplicitExpression(CSharpExplicitExpressionSyntax node) + { + return WriteBlock(node, BlockKindInternal.Expression, base.VisitCSharpExplicitExpression); + } + + public override SyntaxNode VisitCSharpImplicitExpression(CSharpImplicitExpressionSyntax node) + { + return WriteBlock(node, BlockKindInternal.Expression, base.VisitCSharpImplicitExpression); + } + + public override SyntaxNode VisitRazorDirective(RazorDirectiveSyntax node) + { + return WriteBlock(node, BlockKindInternal.Directive, base.VisitRazorDirective); + } + + public override SyntaxNode VisitCSharpTemplateBlock(CSharpTemplateBlockSyntax node) + { + return WriteBlock(node, BlockKindInternal.Template, base.VisitCSharpTemplateBlock); + } + + public override SyntaxNode VisitMarkupBlock(MarkupBlockSyntax node) + { + return WriteBlock(node, BlockKindInternal.Markup, base.VisitMarkupBlock); + } + + public override SyntaxNode VisitGenericBlock(GenericBlockSyntax node) + { + if (!(node.Parent is MarkupTagHelperAttributeValueSyntax) && + node.FirstAncestorOrSelf(n => n is MarkupTagHelperAttributeValueSyntax) != null) + { + return WriteBlock(node, BlockKindInternal.Expression, base.VisitGenericBlock); + } + + return base.VisitGenericBlock(node); + } + + public override SyntaxNode VisitMarkupTagHelperAttributeValue(MarkupTagHelperAttributeValueSyntax node) + { + // We don't generate a classified span when the attribute value is a simple literal value. + if (node.Children.Count > 1 || + (node.Children.Count == 1 && node.Children[0] is MarkupDynamicAttributeValueSyntax)) + { + return WriteBlock(node, BlockKindInternal.Markup, base.VisitMarkupTagHelperAttributeValue); + } + + return base.VisitMarkupTagHelperAttributeValue(node); + } + + public override SyntaxNode VisitMarkupTagBlock(MarkupTagBlockSyntax node) + { + return WriteBlock(node, BlockKindInternal.Tag, base.VisitMarkupTagBlock); + } + + public override SyntaxNode VisitMarkupTagHelperElement(MarkupTagHelperElementSyntax node) + { + return WriteBlock(node, BlockKindInternal.Tag, base.VisitMarkupTagHelperElement); + } + + public override SyntaxNode VisitMarkupTagHelperStartTag(MarkupTagHelperStartTagSyntax node) + { + var rewritten = new List(); + foreach (var child in node.Children) + { + if (child is MarkupTagHelperAttributeSyntax attribute) + { + var rewrittenAttribute = (MarkupTagHelperAttributeSyntax)Visit(attribute); + rewritten.Add(rewrittenAttribute); + } + else + { + rewritten.Add(child); + } + } + + return node.Update(new SyntaxList(rewritten)); + } + + public override SyntaxNode VisitMarkupTagHelperEndTag(MarkupTagHelperEndTagSyntax node) + { + return node; + } + + public override SyntaxNode VisitMarkupAttributeBlock(MarkupAttributeBlockSyntax node) + { + return WriteBlock(node, BlockKindInternal.Markup, n => + { + var equalsSyntax = SyntaxFactory.MarkupTextLiteral(new SyntaxList(node.EqualsToken)); + var mergedAttributePrefix = MergeTextLiteralSpans(node.NamePrefix, node.Name, node.NameSuffix, equalsSyntax, node.ValuePrefix); + Visit(mergedAttributePrefix); + Visit(node.Value); + Visit(node.ValueSuffix); + + return n; + }); + } + + public override SyntaxNode VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node) + { + var rewrittenValue = (MarkupTagHelperAttributeValueSyntax)Visit(node.Value); + + return node.Update(node.NamePrefix, node.Name, node.NameSuffix, node.EqualsToken, node.ValuePrefix, rewrittenValue, node.ValueSuffix); + } + + public override SyntaxNode VisitMarkupMinimizedAttributeBlock(MarkupMinimizedAttributeBlockSyntax node) + { + return WriteBlock(node, BlockKindInternal.Markup, n => + { + var mergedAttributePrefix = MergeTextLiteralSpans(node.NamePrefix, node.Name); + Visit(mergedAttributePrefix); + + return n; + }); + } + + public override SyntaxNode VisitMarkupCommentBlock(MarkupCommentBlockSyntax node) + { + return WriteBlock(node, BlockKindInternal.HtmlComment, base.VisitMarkupCommentBlock); + } + + public override SyntaxNode VisitMarkupDynamicAttributeValue(MarkupDynamicAttributeValueSyntax node) + { + return WriteBlock(node, BlockKindInternal.Markup, base.VisitMarkupDynamicAttributeValue); + } + + public override SyntaxNode VisitRazorMetaCode(RazorMetaCodeSyntax node) + { + WriteSpan(node, SpanKindInternal.MetaCode); + return base.VisitRazorMetaCode(node); + } + + public override SyntaxNode VisitCSharpTransition(CSharpTransitionSyntax node) + { + WriteSpan(node, SpanKindInternal.Transition); + return base.VisitCSharpTransition(node); + } + + public override SyntaxNode VisitMarkupTransition(MarkupTransitionSyntax node) + { + WriteSpan(node, SpanKindInternal.Transition); + return base.VisitMarkupTransition(node); + } + + public override SyntaxNode VisitCSharpStatementLiteral(CSharpStatementLiteralSyntax node) + { + WriteSpan(node, SpanKindInternal.Code); + return base.VisitCSharpStatementLiteral(node); + } + + public override SyntaxNode VisitCSharpExpressionLiteral(CSharpExpressionLiteralSyntax node) + { + WriteSpan(node, SpanKindInternal.Code); + return base.VisitCSharpExpressionLiteral(node); + } + + public override SyntaxNode VisitCSharpEphemeralTextLiteral(CSharpEphemeralTextLiteralSyntax node) + { + WriteSpan(node, SpanKindInternal.Code); + return base.VisitCSharpEphemeralTextLiteral(node); + } + + public override SyntaxNode VisitUnclassifiedTextLiteral(UnclassifiedTextLiteralSyntax node) + { + WriteSpan(node, SpanKindInternal.None); + return base.VisitUnclassifiedTextLiteral(node); + } + + public override SyntaxNode VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node) + { + WriteSpan(node, SpanKindInternal.Markup); + return base.VisitMarkupLiteralAttributeValue(node); + } + + public override SyntaxNode VisitMarkupTextLiteral(MarkupTextLiteralSyntax node) + { + if (node.Parent is MarkupLiteralAttributeValueSyntax) + { + return base.VisitMarkupTextLiteral(node); + } + + WriteSpan(node, SpanKindInternal.Markup); + return base.VisitMarkupTextLiteral(node); + } + + public override SyntaxNode VisitMarkupEphemeralTextLiteral(MarkupEphemeralTextLiteralSyntax node) + { + WriteSpan(node, SpanKindInternal.Markup); + return base.VisitMarkupEphemeralTextLiteral(node); + } + + private SyntaxNode WriteBlock(TNode node, BlockKindInternal kind, Func handler) where TNode : SyntaxNode + { + var previousBlock = _currentBlock; + var previousKind = _currentBlockKind; + + _currentBlock = node; + _currentBlockKind = kind; + + var result = handler(node); + + _currentBlock = previousBlock; + _currentBlockKind = previousKind; + + return result; + } + + private void WriteSpan(SyntaxNode node, SpanKindInternal kind, AcceptedCharactersInternal? acceptedCharacters = null) + { + if (node.IsMissing) + { + return; + } + + var spanSource = node.GetSourceSpan(_source); + var blockSource = _currentBlock.GetSourceSpan(_source); + if (!acceptedCharacters.HasValue) + { + acceptedCharacters = AcceptedCharactersInternal.Any; + var context = node.GetSpanContext(); + if (context != null) + { + acceptedCharacters = context.EditHandler.AcceptedCharacters; + } + } + + var span = new ClassifiedSpanInternal(spanSource, blockSource, kind, _currentBlockKind, acceptedCharacters.Value); + _spans.Add(span); + } + + private MarkupTextLiteralSyntax MergeTextLiteralSpans(params MarkupTextLiteralSyntax[] literalSyntaxes) + { + if (literalSyntaxes == null || literalSyntaxes.Length == 0) + { + return null; + } + + SyntaxNode parent = null; + var position = 0; + var seenFirstLiteral = false; + var builder = Syntax.InternalSyntax.SyntaxListBuilder.Create(); + + foreach (var syntax in literalSyntaxes) + { + if (syntax == null) + { + continue; + } + else if (!seenFirstLiteral) + { + // Set the parent and position of the merged literal to the value of the first non-null literal. + parent = syntax.Parent; + position = syntax.Position; + seenFirstLiteral = true; + } + + foreach (var token in syntax.LiteralTokens) + { + builder.Add(token.Green); + } + } + + var mergedLiteralSyntax = Syntax.InternalSyntax.SyntaxFactory.MarkupTextLiteral( + builder.ToList()); + + return (MarkupTextLiteralSyntax)mergedLiteralSyntax.CreateRed(parent, position); + } + } +} diff --git a/src/Microsoft.AspNetCore.Razor.Language/DefaultDirectiveSyntaxTreePass.cs b/src/Microsoft.AspNetCore.Razor.Language/DefaultDirectiveSyntaxTreePass.cs index 54c733e0f..3c6b5f1d8 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/DefaultDirectiveSyntaxTreePass.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/DefaultDirectiveSyntaxTreePass.cs @@ -5,6 +5,7 @@ using System.Linq; using Microsoft.AspNetCore.Razor.Language.Extensions; using Microsoft.AspNetCore.Razor.Language.Legacy; +using Microsoft.AspNetCore.Razor.Language.Syntax; namespace Microsoft.AspNetCore.Razor.Language { @@ -24,19 +25,58 @@ public RazorSyntaxTree Execute(RazorCodeDocument codeDocument, RazorSyntaxTree s throw new ArgumentNullException(nameof(syntaxTree)); } - var sectionVerifier = new NestedSectionVerifier(); - sectionVerifier.Verify(syntaxTree); + if (syntaxTree is LegacyRazorSyntaxTree) + { + var legacySectionVerifier = new LegacyNestedSectionVerifier(); + legacySectionVerifier.Verify(syntaxTree); + return syntaxTree; + } + + var sectionVerifier = new NestedSectionVerifier(syntaxTree); + return sectionVerifier.Verify(); + } + + private class NestedSectionVerifier : SyntaxRewriter + { + private int _nestedLevel; + private RazorSyntaxTree _syntaxTree; + + public NestedSectionVerifier(RazorSyntaxTree syntaxTree) + { + _syntaxTree = syntaxTree; + } + + public RazorSyntaxTree Verify() + { + var root = Visit(_syntaxTree.Root); + var rewrittenTree = new DefaultRazorSyntaxTree(root, _syntaxTree.Source, _syntaxTree.Diagnostics, _syntaxTree.Options); + return rewrittenTree; + } - return syntaxTree; + public override SyntaxNode VisitRazorDirective(RazorDirectiveSyntax node) + { + if (_nestedLevel > 0) + { + var directiveStart = node.Transition.GetSourceLocation(_syntaxTree.Source); + var errorLength = /* @ */ 1 + SectionDirective.Directive.Directive.Length; + var error = RazorDiagnosticFactory.CreateParsing_SectionsCannotBeNested(new SourceSpan(directiveStart, errorLength)); + node = node.AppendDiagnostic(error); + } + _nestedLevel++; + var result = base.VisitRazorDirective(node); + _nestedLevel--; + + return result; + } } - private class NestedSectionVerifier : ParserVisitor + private class LegacyNestedSectionVerifier : ParserVisitor { private int _nestedLevel; public void Verify(RazorSyntaxTree tree) { - tree.Root.Accept(this); + tree.LegacyRoot.Accept(this); } public override void VisitDirectiveBlock(DirectiveChunkGenerator chunkGenerator, Block block) diff --git a/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorIntermediateNodeLoweringPhase.cs b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorIntermediateNodeLoweringPhase.cs index 762fd61d6..136bc6959 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorIntermediateNodeLoweringPhase.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorIntermediateNodeLoweringPhase.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Razor.Language.Extensions; using Microsoft.AspNetCore.Razor.Language.Intermediate; using Microsoft.AspNetCore.Razor.Language.Legacy; +using Microsoft.AspNetCore.Razor.Language.Syntax; namespace Microsoft.AspNetCore.Razor.Language { @@ -26,6 +27,12 @@ protected override void ExecuteCore(RazorCodeDocument codeDocument) var syntaxTree = codeDocument.GetSyntaxTree(); ThrowForMissingDocumentDependency(syntaxTree); + if (syntaxTree is LegacyRazorSyntaxTree) + { + // Can't handle legacy tree. + return; + } + // This might not have been set if there are no tag helpers. var tagHelperContext = codeDocument.GetTagHelperContext(); @@ -46,8 +53,8 @@ protected override void ExecuteCore(RazorCodeDocument codeDocument) { var import = imports[j]; - importsVisitor.FilePath = import.Source.FilePath; - importsVisitor.VisitBlock(import.Root); + importsVisitor.SourceDocument = import.Source; + importsVisitor.Visit(import.Root); } importedUsings = importsVisitor.Usings; @@ -56,10 +63,10 @@ protected override void ExecuteCore(RazorCodeDocument codeDocument) var tagHelperPrefix = tagHelperContext?.Prefix; var visitor = new MainSourceVisitor(document, builder, tagHelperPrefix, syntaxTree.Options.FeatureFlags) { - FilePath = syntaxTree.Source.FilePath, + SourceDocument = syntaxTree.Source, }; - visitor.VisitBlock(syntaxTree.Root); + visitor.Visit(syntaxTree.Root); // 1. Prioritize non-imported usings over imported ones. // 2. Don't import usings that already exist in primary document. @@ -189,7 +196,7 @@ public bool Equals(UsingReference other) public override int GetHashCode() => Namespace.GetHashCode(); } - private class LoweringVisitor : ParserVisitor + private class LoweringVisitor : SyntaxRewriter { protected readonly IntermediateNodeBuilder _builder; protected readonly DocumentIntermediateNode _document; @@ -206,195 +213,220 @@ public LoweringVisitor(DocumentIntermediateNode document, IntermediateNodeBuilde public IReadOnlyList Usings => _usings; - public string FilePath { get; set; } + public RazorSourceDocument SourceDocument { get; set; } - public override void VisitDirectiveToken(DirectiveTokenChunkGenerator chunkGenerator, Span span) - { - _builder.Add(new DirectiveTokenIntermediateNode() - { - Content = span.Content, - DirectiveToken = chunkGenerator.Descriptor, - Source = BuildSourceSpanFromNode(span), - }); - } - - public override void VisitDirectiveBlock(DirectiveChunkGenerator chunkGenerator, Block block) + public override SyntaxNode VisitRazorDirective(RazorDirectiveSyntax node) { IntermediateNode directiveNode; - if (IsMalformed(chunkGenerator.Diagnostics)) + var diagnostics = node.GetDiagnostics(); + var descriptor = node.DirectiveDescriptor; + + if (descriptor != null) { - directiveNode = new MalformedDirectiveIntermediateNode() + // This is an extensible directive. + if (IsMalformed(diagnostics)) { - DirectiveName = chunkGenerator.Descriptor.Directive, - Directive = chunkGenerator.Descriptor, - Source = BuildSourceSpanFromNode(block), - }; - } - else - { - directiveNode = new DirectiveIntermediateNode() + directiveNode = new MalformedDirectiveIntermediateNode() + { + DirectiveName = descriptor.Directive, + Directive = descriptor, + Source = BuildSourceSpanFromNode(node), + }; + } + else { - DirectiveName = chunkGenerator.Descriptor.Directive, - Directive = chunkGenerator.Descriptor, - Source = BuildSourceSpanFromNode(block), - }; - } + directiveNode = new DirectiveIntermediateNode() + { + DirectiveName = descriptor.Directive, + Directive = descriptor, + Source = BuildSourceSpanFromNode(node), + }; + } - for (var i = 0; i < chunkGenerator.Diagnostics.Count; i++) - { - directiveNode.Diagnostics.Add(chunkGenerator.Diagnostics[i]); - } + for (var i = 0; i < diagnostics.Length; i++) + { + directiveNode.Diagnostics.Add(diagnostics[i]); + } - _builder.Push(directiveNode); + _builder.Push(directiveNode); + } - VisitDefault(block); + Visit(node.Body); - _builder.Pop(); - } + if (descriptor != null) + { + _builder.Pop(); + } - public override void VisitImportSpan(AddImportChunkGenerator chunkGenerator, Span span) - { - var namespaceImport = chunkGenerator.Namespace.Trim(); - var namespaceSpan = BuildSourceSpanFromNode(span); - _usings.Add(new UsingReference(namespaceImport, namespaceSpan)); + return node; } - public override void VisitAddTagHelperSpan(AddTagHelperChunkGenerator chunkGenerator, Span span) + public override SyntaxNode VisitCSharpStatementLiteral(CSharpStatementLiteralSyntax node) { - IntermediateNode directiveNode; - if (IsMalformed(chunkGenerator.Diagnostics)) + var context = node.GetSpanContext(); + if (context == null) { - directiveNode = new MalformedDirectiveIntermediateNode() - { - DirectiveName = CSharpCodeParser.AddTagHelperDirectiveDescriptor.Directive, - Directive = CSharpCodeParser.AddTagHelperDirectiveDescriptor, - Source = BuildSourceSpanFromNode(span), - }; + return base.VisitCSharpStatementLiteral(node); } - else + else if (context.ChunkGenerator is DirectiveTokenChunkGenerator tokenChunkGenerator) { - directiveNode = new DirectiveIntermediateNode() + _builder.Add(new DirectiveTokenIntermediateNode() { - DirectiveName = CSharpCodeParser.AddTagHelperDirectiveDescriptor.Directive, - Directive = CSharpCodeParser.AddTagHelperDirectiveDescriptor, - Source = BuildSourceSpanFromNode(span), - }; + Content = node.GetContent(), + DirectiveToken = tokenChunkGenerator.Descriptor, + Source = BuildSourceSpanFromNode(node), + }); } - - for (var i = 0; i < chunkGenerator.Diagnostics.Count; i++) + else if (context.ChunkGenerator is AddImportChunkGenerator importChunkGenerator) { - directiveNode.Diagnostics.Add(chunkGenerator.Diagnostics[i]); + var namespaceImport = importChunkGenerator.Namespace.Trim(); + var namespaceSpan = BuildSourceSpanFromNode(node); + _usings.Add(new UsingReference(namespaceImport, namespaceSpan)); } - - _builder.Push(directiveNode); - - _builder.Add(new DirectiveTokenIntermediateNode() + else if (context.ChunkGenerator is AddTagHelperChunkGenerator addTagHelperChunkGenerator) { - Content = chunkGenerator.LookupText, - DirectiveToken = CSharpCodeParser.AddTagHelperDirectiveDescriptor.Tokens.First(), - Source = BuildSourceSpanFromNode(span), - }); + IntermediateNode directiveNode; + if (IsMalformed(addTagHelperChunkGenerator.Diagnostics)) + { + directiveNode = new MalformedDirectiveIntermediateNode() + { + DirectiveName = CSharpCodeParser.AddTagHelperDirectiveDescriptor.Directive, + Directive = CSharpCodeParser.AddTagHelperDirectiveDescriptor, + Source = BuildSourceSpanFromNode(node), + }; + } + else + { + directiveNode = new DirectiveIntermediateNode() + { + DirectiveName = CSharpCodeParser.AddTagHelperDirectiveDescriptor.Directive, + Directive = CSharpCodeParser.AddTagHelperDirectiveDescriptor, + Source = BuildSourceSpanFromNode(node), + }; + } - _builder.Pop(); - } + for (var i = 0; i < addTagHelperChunkGenerator.Diagnostics.Count; i++) + { + directiveNode.Diagnostics.Add(addTagHelperChunkGenerator.Diagnostics[i]); + } - public override void VisitRemoveTagHelperSpan(RemoveTagHelperChunkGenerator chunkGenerator, Span span) - { - IntermediateNode directiveNode; - if (IsMalformed(chunkGenerator.Diagnostics)) - { - directiveNode = new MalformedDirectiveIntermediateNode() + _builder.Push(directiveNode); + + _builder.Add(new DirectiveTokenIntermediateNode() { - DirectiveName = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor.Directive, - Directive = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor, - Source = BuildSourceSpanFromNode(span), - }; + Content = addTagHelperChunkGenerator.LookupText, + DirectiveToken = CSharpCodeParser.AddTagHelperDirectiveDescriptor.Tokens.First(), + Source = BuildSourceSpanFromNode(node), + }); + + _builder.Pop(); } - else + else if (context.ChunkGenerator is RemoveTagHelperChunkGenerator removeTagHelperChunkGenerator) { - directiveNode = new DirectiveIntermediateNode() + IntermediateNode directiveNode; + if (IsMalformed(removeTagHelperChunkGenerator.Diagnostics)) { - DirectiveName = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor.Directive, - Directive = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor, - Source = BuildSourceSpanFromNode(span), - }; - } - - for (var i = 0; i < chunkGenerator.Diagnostics.Count; i++) - { - directiveNode.Diagnostics.Add(chunkGenerator.Diagnostics[i]); - } - - _builder.Push(directiveNode); + directiveNode = new MalformedDirectiveIntermediateNode() + { + DirectiveName = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor.Directive, + Directive = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor, + Source = BuildSourceSpanFromNode(node), + }; + } + else + { + directiveNode = new DirectiveIntermediateNode() + { + DirectiveName = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor.Directive, + Directive = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor, + Source = BuildSourceSpanFromNode(node), + }; + } - _builder.Add(new DirectiveTokenIntermediateNode() - { - Content = chunkGenerator.LookupText, - DirectiveToken = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor.Tokens.First(), - Source = BuildSourceSpanFromNode(span), - }); + for (var i = 0; i < removeTagHelperChunkGenerator.Diagnostics.Count; i++) + { + directiveNode.Diagnostics.Add(removeTagHelperChunkGenerator.Diagnostics[i]); + } - _builder.Pop(); - } + _builder.Push(directiveNode); - public override void VisitTagHelperPrefixDirectiveSpan(TagHelperPrefixDirectiveChunkGenerator chunkGenerator, Span span) - { - IntermediateNode directiveNode; - if (IsMalformed(chunkGenerator.Diagnostics)) - { - directiveNode = new MalformedDirectiveIntermediateNode() + _builder.Add(new DirectiveTokenIntermediateNode() { - DirectiveName = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor.Directive, - Directive = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor, - Source = BuildSourceSpanFromNode(span), - }; + Content = removeTagHelperChunkGenerator.LookupText, + DirectiveToken = CSharpCodeParser.RemoveTagHelperDirectiveDescriptor.Tokens.First(), + Source = BuildSourceSpanFromNode(node), + }); + + _builder.Pop(); } - else + else if (context.ChunkGenerator is TagHelperPrefixDirectiveChunkGenerator tagHelperPrefixChunkGenerator) { - directiveNode = new DirectiveIntermediateNode() + IntermediateNode directiveNode; + if (IsMalformed(tagHelperPrefixChunkGenerator.Diagnostics)) { - DirectiveName = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor.Directive, - Directive = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor, - Source = BuildSourceSpanFromNode(span), - }; - } + directiveNode = new MalformedDirectiveIntermediateNode() + { + DirectiveName = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor.Directive, + Directive = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor, + Source = BuildSourceSpanFromNode(node), + }; + } + else + { + directiveNode = new DirectiveIntermediateNode() + { + DirectiveName = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor.Directive, + Directive = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor, + Source = BuildSourceSpanFromNode(node), + }; + } - for (var i = 0; i < chunkGenerator.Diagnostics.Count; i++) - { - directiveNode.Diagnostics.Add(chunkGenerator.Diagnostics[i]); - } + for (var i = 0; i < tagHelperPrefixChunkGenerator.Diagnostics.Count; i++) + { + directiveNode.Diagnostics.Add(tagHelperPrefixChunkGenerator.Diagnostics[i]); + } - _builder.Push(directiveNode); + _builder.Push(directiveNode); - _builder.Add(new DirectiveTokenIntermediateNode() - { - Content = chunkGenerator.Prefix, - DirectiveToken = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor.Tokens.First(), - Source = BuildSourceSpanFromNode(span), - }); + _builder.Add(new DirectiveTokenIntermediateNode() + { + Content = tagHelperPrefixChunkGenerator.Prefix, + DirectiveToken = CSharpCodeParser.TagHelperPrefixDirectiveDescriptor.Tokens.First(), + Source = BuildSourceSpanFromNode(node), + }); - _builder.Pop(); + _builder.Pop(); + } + + return base.VisitCSharpStatementLiteral(node); } - protected SourceSpan? BuildSourceSpanFromNode(SyntaxTreeNode node) + protected SourceSpan? BuildSourceSpanFromNode(SyntaxNode node) { - if (node == null || node.Start == SourceLocation.Undefined) + if (node == null) { return null; } - var span = new SourceSpan( - node.Start.FilePath ?? FilePath, - node.Start.AbsoluteIndex, - node.Start.LineIndex, - node.Start.CharacterIndex, - node.Length); - return span; + if (node.Position == SourceDocument.Length) + { + // This can happen when we have a marker symbol at the end of the syntax tree. + var location = SourceDocument.Lines.GetLocation(node.Position - 1); + return new SourceSpan( + SourceDocument.FilePath, + location.AbsoluteIndex + 1, + location.LineIndex, + location.CharacterIndex + 1, + length: 0); + } + + return node.GetSourceSpan(SourceDocument); } } private class MainSourceVisitor : LoweringVisitor { + private readonly HashSet _renderedBoundAttributeNames = new HashSet(StringComparer.OrdinalIgnoreCase); private readonly string _tagHelperPrefix; public MainSourceVisitor(DocumentIntermediateNode document, IntermediateNodeBuilder builder, string tagHelperPrefix, RazorParserFeatureFlags featureFlags) @@ -408,86 +440,149 @@ public MainSourceVisitor(DocumentIntermediateNode document, IntermediateNodeBuil // Name=checked // Prefix= checked=" // Suffix=" - public override void VisitAttributeBlock(AttributeBlockChunkGenerator chunkGenerator, Block block) + public override SyntaxNode VisitMarkupAttributeBlock(MarkupAttributeBlockSyntax node) { - _builder.Push(new HtmlAttributeIntermediateNode() + var prefixTokens = MergeLiterals( + node.NamePrefix?.LiteralTokens, + node.Name.LiteralTokens, + node.NameSuffix?.LiteralTokens, + node.EqualsToken == null ? new SyntaxList() : new SyntaxList(node.EqualsToken), + node.ValuePrefix?.LiteralTokens); + var prefix = (MarkupTextLiteralSyntax)SyntaxFactory.MarkupTextLiteral(prefixTokens).Green.CreateRed(node, node.NamePrefix?.Position ?? node.Name.Position); + + var name = node.Name.GetContent(); + if (name.StartsWith("data-", StringComparison.OrdinalIgnoreCase) && + !_featureFlags.EXPERIMENTAL_AllowConditionalDataDashAttributes) { - AttributeName = chunkGenerator.Name, - Prefix = chunkGenerator.Prefix, - Suffix = chunkGenerator.Suffix, - Source = BuildSourceSpanFromNode(block), - }); + Visit(prefix); + Visit(node.Value); + Visit(node.ValueSuffix); + } + else + { + if (node.Value != null && node.Value.ChildNodes().All(c => c is MarkupLiteralAttributeValueSyntax)) + { + // We need to do what ConditionalAttributeCollapser used to do. + var literalAttributeValueNodes = node.Value.ChildNodes().Cast().ToArray(); + var valueTokens = SyntaxListBuilder.Create(); + for (var i = 0; i < literalAttributeValueNodes.Length; i++) + { + var mergedValue = MergeAttributeValue(literalAttributeValueNodes[i]); + valueTokens.AddRange(mergedValue.LiteralTokens); + } + var rewritten = SyntaxFactory.MarkupTextLiteral(valueTokens.ToList()); + + var mergedLiterals = MergeLiterals(prefix?.LiteralTokens, rewritten.LiteralTokens, node.ValueSuffix?.LiteralTokens); + var mergedAttribute = SyntaxFactory.MarkupTextLiteral(mergedLiterals).Green.CreateRed(node.Parent, node.Position); + Visit(mergedAttribute); + } + else + { + _builder.Push(new HtmlAttributeIntermediateNode() + { + AttributeName = node.Name.GetContent(), + Prefix = prefix.GetContent(), + Suffix = node.ValueSuffix?.GetContent() ?? string.Empty, + Source = BuildSourceSpanFromNode(node), + }); - VisitDefault(block); + VisitAttributeValue(node.Value); - _builder.Pop(); + _builder.Pop(); + } + } + + return node; + } + + public override SyntaxNode VisitMarkupMinimizedAttributeBlock(MarkupMinimizedAttributeBlockSyntax node) + { + var name = node.Name.GetContent(); + if (name.StartsWith("data-", StringComparison.OrdinalIgnoreCase) && + !_featureFlags.EXPERIMENTAL_AllowConditionalDataDashAttributes) + { + return base.VisitMarkupMinimizedAttributeBlock(node); + } + + // Minimized attributes are just html content. + var literals = MergeLiterals( + node.NamePrefix?.LiteralTokens, + node.Name?.LiteralTokens); + var literal = SyntaxFactory.MarkupTextLiteral(literals).Green.CreateRed(node.Parent, node.Position); + + return Visit(literal); } // Example // // Prefix= (space) // Children will contain a token for @false. - public override void VisitDynamicAttributeBlock(DynamicAttributeBlockChunkGenerator chunkGenerator, Block block) + public override SyntaxNode VisitMarkupDynamicAttributeValue(MarkupDynamicAttributeValueSyntax node) { - var firstChild = block.Children.FirstOrDefault(c => c.IsBlock) as Block; - if (firstChild == null || firstChild.Type == BlockKindInternal.Expression) + var containsExpression = false; + var descendantNodes = node.DescendantNodes(n => + { + // Don't go into sub block. They may contain expressions but we only care about the top level. + return !(n.Parent is CSharpCodeBlockSyntax); + }); + foreach (var child in descendantNodes) + { + if (child is CSharpImplicitExpressionSyntax || child is CSharpExplicitExpressionSyntax) + { + containsExpression = true; + } + } + + if (containsExpression) { _builder.Push(new CSharpExpressionAttributeValueIntermediateNode() { - Prefix = chunkGenerator.Prefix, - Source = BuildSourceSpanFromNode(block), + Prefix = node.Prefix?.GetContent() ?? string.Empty, + Source = BuildSourceSpanFromNode(node), }); } else { _builder.Push(new CSharpCodeAttributeValueIntermediateNode() { - Prefix = chunkGenerator.Prefix, - Source = BuildSourceSpanFromNode(block), + Prefix = node.Prefix?.GetContent() ?? string.Empty, + Source = BuildSourceSpanFromNode(node), }); } - VisitDefault(block); + Visit(node.Value); _builder.Pop(); + + return node; } - public override void VisitLiteralAttributeSpan(LiteralAttributeChunkGenerator chunkGenerator, Span span) + public override SyntaxNode VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node) { _builder.Push(new HtmlAttributeValueIntermediateNode() { - Prefix = chunkGenerator.Prefix, - Source = BuildSourceSpanFromNode(span), + Prefix = node.Prefix?.GetContent() ?? string.Empty, + Source = BuildSourceSpanFromNode(node), }); - var location = chunkGenerator.Value.Location; - SourceSpan? valueSpan = null; - if (location != SourceLocation.Undefined) - { - valueSpan = new SourceSpan( - location.FilePath ?? FilePath, - location.AbsoluteIndex, - location.LineIndex, - location.CharacterIndex, - chunkGenerator.Value.Value.Length); - } - _builder.Add(new IntermediateToken() { - Content = chunkGenerator.Value, + Content = node.Value?.GetContent() ?? string.Empty, Kind = TokenKind.Html, - Source = valueSpan + Source = BuildSourceSpanFromNode(node.Value) }); _builder.Pop(); + + return node; } - public override void VisitTemplateBlock(TemplateBlockChunkGenerator chunkGenerator, Block block) + public override SyntaxNode VisitCSharpTemplateBlock(CSharpTemplateBlockSyntax node) { var templateNode = new TemplateIntermediateNode(); _builder.Push(templateNode); - VisitDefault(block); + var result = base.VisitCSharpTemplateBlock(node); _builder.Pop(); @@ -503,13 +598,15 @@ public override void VisitTemplateBlock(TemplateBlockChunkGenerator chunkGenerat var contentLength = templateNode.Children.Sum(child => child.Source?.Length ?? 0); templateNode.Source = new SourceSpan( - sourceRangeStart.Value.FilePath ?? FilePath, + sourceRangeStart.Value.FilePath ?? SourceDocument.FilePath, sourceRangeStart.Value.AbsoluteIndex, sourceRangeStart.Value.LineIndex, sourceRangeStart.Value.CharacterIndex, contentLength); } } + + return result; } // CSharp expressions are broken up into blocks and spans because Razor allows Razor comments @@ -518,19 +615,18 @@ public override void VisitTemplateBlock(TemplateBlockChunkGenerator chunkGenerat // @DateTime.@*This is a comment*@Now // // We need to capture this in the IR so that we can give each piece the correct source mappings - public override void VisitExpressionBlock(ExpressionChunkGenerator chunkGenerator, Block block) + public override SyntaxNode VisitCSharpExplicitExpression(CSharpExplicitExpressionSyntax node) { if (_builder.Current is CSharpExpressionAttributeValueIntermediateNode) { - VisitDefault(block); - return; + return base.VisitCSharpExplicitExpression(node); } var expressionNode = new CSharpExpressionIntermediateNode(); _builder.Push(expressionNode); - VisitDefault(block); + var result = base.VisitCSharpExplicitExpression(node); _builder.Pop(); @@ -546,66 +642,127 @@ public override void VisitExpressionBlock(ExpressionChunkGenerator chunkGenerato var contentLength = expressionNode.Children.Sum(child => child.Source?.Length ?? 0); expressionNode.Source = new SourceSpan( - sourceRangeStart.Value.FilePath ?? FilePath, + sourceRangeStart.Value.FilePath ?? SourceDocument.FilePath, sourceRangeStart.Value.AbsoluteIndex, sourceRangeStart.Value.LineIndex, sourceRangeStart.Value.CharacterIndex, contentLength); } } + + return result; } - public override void VisitExpressionSpan(ExpressionChunkGenerator chunkGenerator, Span span) + public override SyntaxNode VisitCSharpImplicitExpression(CSharpImplicitExpressionSyntax node) { - _builder.Add(new IntermediateToken() + if (_builder.Current is CSharpExpressionAttributeValueIntermediateNode) { - Content = span.Content, - Kind = TokenKind.CSharp, - Source = BuildSourceSpanFromNode(span), - }); - } + return base.VisitCSharpImplicitExpression(node); + } - public override void VisitStatementSpan(StatementChunkGenerator chunkGenerator, Span span) - { - var isAttributeValue = _builder.Current is CSharpCodeAttributeValueIntermediateNode; + var expressionNode = new CSharpExpressionIntermediateNode(); + + _builder.Push(expressionNode); - if (!isAttributeValue) + var result = base.VisitCSharpImplicitExpression(node); + + _builder.Pop(); + + if (expressionNode.Children.Count > 0) { - var statementNode = new CSharpCodeIntermediateNode() + var sourceRangeStart = expressionNode + .Children + .FirstOrDefault(child => child.Source != null) + ?.Source; + + if (sourceRangeStart != null) { - Source = BuildSourceSpanFromNode(span) - }; - _builder.Push(statementNode); + var contentLength = expressionNode.Children.Sum(child => child.Source?.Length ?? 0); + + expressionNode.Source = new SourceSpan( + sourceRangeStart.Value.FilePath ?? SourceDocument.FilePath, + sourceRangeStart.Value.AbsoluteIndex, + sourceRangeStart.Value.LineIndex, + sourceRangeStart.Value.CharacterIndex, + contentLength); + } + } + + return result; + } + + public override SyntaxNode VisitCSharpExpressionLiteral(CSharpExpressionLiteralSyntax node) + { + if (_builder.Current is TagHelperHtmlAttributeIntermediateNode) + { + // If we are top level in a tag helper HTML attribute, we want to be rendered as markup. + var markupLiteral = SyntaxFactory.MarkupTextLiteral(node.LiteralTokens).Green.CreateRed(node.Parent, node.Position); + return Visit(markupLiteral); } _builder.Add(new IntermediateToken() { - Content = span.Content, + Content = node.GetContent(), Kind = TokenKind.CSharp, - Source = BuildSourceSpanFromNode(span), + Source = BuildSourceSpanFromNode(node), }); - if (!isAttributeValue) + return base.VisitCSharpExpressionLiteral(node); + } + + public override SyntaxNode VisitCSharpStatementLiteral(CSharpStatementLiteralSyntax node) + { + var context = node.GetSpanContext(); + if (context == null || context.ChunkGenerator is StatementChunkGenerator) { - _builder.Pop(); + var isAttributeValue = _builder.Current is CSharpCodeAttributeValueIntermediateNode; + + if (!isAttributeValue) + { + var statementNode = new CSharpCodeIntermediateNode() + { + Source = BuildSourceSpanFromNode(node) + }; + _builder.Push(statementNode); + } + + _builder.Add(new IntermediateToken() + { + Content = node.GetContent(), + Kind = TokenKind.CSharp, + Source = BuildSourceSpanFromNode(node), + }); + + if (!isAttributeValue) + { + _builder.Pop(); + } } + + return base.VisitCSharpStatementLiteral(node); } - public override void VisitMarkupSpan(MarkupChunkGenerator chunkGenerator, Span span) + public override SyntaxNode VisitMarkupTextLiteral(MarkupTextLiteralSyntax node) { - if (span.Tokens.Count == 1) + var context = node.GetSpanContext(); + if (context != null && context.ChunkGenerator == SpanChunkGenerator.Null) { - var token = span.Tokens[0]; + return base.VisitMarkupTextLiteral(node); + } + + if (node.LiteralTokens.Count == 1) + { + var token = node.LiteralTokens[0]; if (token != null && - token.Kind == SyntaxKind.Unknown && + token.Kind == SyntaxKind.Marker && token.Content.Length == 0) { // We don't want to create IR nodes for marker tokens. - return; + return base.VisitMarkupTextLiteral(node); } } - var source = BuildSourceSpanFromNode(span); + var source = BuildSourceSpanFromNode(node); var currentChildren = _builder.Current.Children; if (currentChildren.Count > 0 && currentChildren[currentChildren.Count - 1] is HtmlContentIntermediateNode) { @@ -613,8 +770,8 @@ public override void VisitMarkupSpan(MarkupChunkGenerator chunkGenerator, Span s if (existingHtmlContent.Source == null && source == null) { - Combine(existingHtmlContent, span); - return; + Combine(existingHtmlContent, node); + return base.VisitMarkupTextLiteral(node); } if (source != null && @@ -622,8 +779,8 @@ public override void VisitMarkupSpan(MarkupChunkGenerator chunkGenerator, Span s existingHtmlContent.Source.Value.FilePath == source.Value.FilePath && existingHtmlContent.Source.Value.AbsoluteIndex + existingHtmlContent.Source.Value.Length == source.Value.AbsoluteIndex) { - Combine(existingHtmlContent, span); - return; + Combine(existingHtmlContent, node); + return base.VisitMarkupTextLiteral(node); } } @@ -635,23 +792,20 @@ public override void VisitMarkupSpan(MarkupChunkGenerator chunkGenerator, Span s _builder.Add(new IntermediateToken() { - Content = span.Content, + Content = node.GetContent(), Kind = TokenKind.Html, Source = source, }); _builder.Pop(); + + return base.VisitMarkupTextLiteral(node); } - public override void VisitTagHelperBlock(TagHelperChunkGenerator chunkGenerator, Block block) + public override SyntaxNode VisitMarkupTagHelperElement(MarkupTagHelperElementSyntax node) { - var tagHelperBlock = block as TagHelperBlock; - if (tagHelperBlock == null) - { - return; - } - - var tagName = tagHelperBlock.TagName; + var info = node.TagHelperInfo; + var tagName = info.TagName; if (_tagHelperPrefix != null) { tagName = tagName.Substring(_tagHelperPrefix.Length); @@ -660,11 +814,11 @@ public override void VisitTagHelperBlock(TagHelperChunkGenerator chunkGenerator, var tagHelperNode = new TagHelperIntermediateNode() { TagName = tagName, - TagMode = tagHelperBlock.TagMode, - Source = BuildSourceSpanFromNode(block) + TagMode = info.TagMode, + Source = BuildSourceSpanFromNode(node) }; - foreach (var tagHelper in tagHelperBlock.Binding.Descriptors) + foreach (var tagHelper in info.BindingResult.Descriptors) { tagHelperNode.TagHelpers.Add(tagHelper); } @@ -673,22 +827,229 @@ public override void VisitTagHelperBlock(TagHelperChunkGenerator chunkGenerator, _builder.Push(new TagHelperBodyIntermediateNode()); - VisitDefault(block); + VisitList(node.Body); _builder.Pop(); // Pop InitializeTagHelperStructureIntermediateNode - AddTagHelperAttributes(tagHelperBlock.Attributes, tagHelperBlock.Binding); + Visit(node.StartTag); _builder.Pop(); // Pop TagHelperIntermediateNode + + // No need to visit the end tag because we don't write any IR for it. + + // We don't want to track attributes from a previous tag helper element. + _renderedBoundAttributeNames.Clear(); + + return node; } - private void Combine(HtmlContentIntermediateNode node, Span span) + public override SyntaxNode VisitMarkupTagHelperStartTag(MarkupTagHelperStartTagSyntax node) + { + foreach (var child in node.Children) + { + if (child is MarkupTagHelperAttributeSyntax || child is MarkupMinimizedTagHelperAttributeSyntax) + { + Visit(child); + } + } + + return node; + } + + public override SyntaxNode VisitMarkupMinimizedTagHelperAttribute(MarkupMinimizedTagHelperAttributeSyntax node) + { + if (!_featureFlags.AllowMinimizedBooleanTagHelperAttributes) + { + // Minimized attributes are not valid for non-boolean bound attributes. TagHelperBlockRewriter + // has already logged an error if it was a non-boolean bound attribute; so we can skip. + return node; + } + + var element = node.FirstAncestorOrSelf(); + var descriptors = element.TagHelperInfo.BindingResult.Descriptors; + var attributeName = node.Name.GetContent(); + var associatedDescriptors = descriptors.Where(descriptor => + descriptor.BoundAttributes.Any(attributeDescriptor => TagHelperMatchingConventions.CanSatisfyBoundAttribute(attributeName, attributeDescriptor))); + + if (associatedDescriptors.Any() && _renderedBoundAttributeNames.Add(attributeName)) + { + foreach (var associatedDescriptor in associatedDescriptors) + { + var associatedAttributeDescriptor = associatedDescriptor.BoundAttributes.First(a => + { + return TagHelperMatchingConventions.CanSatisfyBoundAttribute(attributeName, a); + }); + + var expectsBooleanValue = associatedAttributeDescriptor.ExpectsBooleanValue(attributeName); + + if (!expectsBooleanValue) + { + // We do not allow minimized non-boolean bound attributes. + return node; + } + + var setTagHelperProperty = new TagHelperPropertyIntermediateNode() + { + AttributeName = attributeName, + BoundAttribute = associatedAttributeDescriptor, + TagHelper = associatedDescriptor, + AttributeStructure = node.TagHelperAttributeInfo.AttributeStructure, + Source = null, + IsIndexerNameMatch = TagHelperMatchingConventions.SatisfiesBoundAttributeIndexer(attributeName, associatedAttributeDescriptor), + }; + + _builder.Add(setTagHelperProperty); + } + } + else + { + var addHtmlAttribute = new TagHelperHtmlAttributeIntermediateNode() + { + AttributeName = attributeName, + AttributeStructure = node.TagHelperAttributeInfo.AttributeStructure + }; + + _builder.Add(addHtmlAttribute); + } + + return node; + } + + public override SyntaxNode VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node) + { + var element = node.FirstAncestorOrSelf(); + var descriptors = element.TagHelperInfo.BindingResult.Descriptors; + var attributeName = node.Name.GetContent(); + var attributeValueNode = node.Value; + var associatedDescriptors = descriptors.Where(descriptor => + descriptor.BoundAttributes.Any(attributeDescriptor => TagHelperMatchingConventions.CanSatisfyBoundAttribute(attributeName, attributeDescriptor))); + + if (associatedDescriptors.Any() && _renderedBoundAttributeNames.Add(attributeName)) + { + foreach (var associatedDescriptor in associatedDescriptors) + { + var associatedAttributeDescriptor = associatedDescriptor.BoundAttributes.First(a => + { + return TagHelperMatchingConventions.CanSatisfyBoundAttribute(attributeName, a); + }); + + var setTagHelperProperty = new TagHelperPropertyIntermediateNode() + { + AttributeName = attributeName, + BoundAttribute = associatedAttributeDescriptor, + TagHelper = associatedDescriptor, + AttributeStructure = node.TagHelperAttributeInfo.AttributeStructure, + Source = BuildSourceSpanFromNode(attributeValueNode), + IsIndexerNameMatch = TagHelperMatchingConventions.SatisfiesBoundAttributeIndexer(attributeName, associatedAttributeDescriptor), + }; + + _builder.Push(setTagHelperProperty); + VisitAttributeValue(attributeValueNode); + _builder.Pop(); + } + } + else + { + var addHtmlAttribute = new TagHelperHtmlAttributeIntermediateNode() + { + AttributeName = attributeName, + AttributeStructure = node.TagHelperAttributeInfo.AttributeStructure + }; + + _builder.Push(addHtmlAttribute); + VisitAttributeValue(attributeValueNode); + _builder.Pop(); + } + + return node; + } + + private void VisitAttributeValue(SyntaxNode node) + { + if (node == null) + { + return; + } + + + IReadOnlyList children = node.ChildNodes(); + var position = node.Position; + if (children.First() is MarkupBlockSyntax markupBlock && + markupBlock.Children.Count == 2 && + markupBlock.Children[0] is MarkupTextLiteralSyntax && + markupBlock.Children[1] is MarkupEphemeralTextLiteralSyntax) + { + // This is a special case when we have an attribute like attr="@@foo". + // In this case, we want the foo to be written out as HtmlContent and not HtmlAttributeValue. + Visit(markupBlock); + children = children.Skip(1).ToList(); + position = children.Count > 0 ? children[0].Position : position; + } + + if (children.All(c => c is MarkupLiteralAttributeValueSyntax)) + { + var literalAttributeValueNodes = children.Cast().ToArray(); + var valueTokens = SyntaxListBuilder.Create(); + for (var i = 0; i < literalAttributeValueNodes.Length; i++) + { + var mergedValue = MergeAttributeValue(literalAttributeValueNodes[i]); + valueTokens.AddRange(mergedValue.LiteralTokens); + } + var rewritten = SyntaxFactory.MarkupTextLiteral(valueTokens.ToList()).Green.CreateRed(node.Parent, position); + Visit(rewritten); + } + else if (children.All(c => c is MarkupTextLiteralSyntax)) + { + var builder = SyntaxListBuilder.Create(); + var markupLiteralArray = children.Cast(); + foreach (var literal in markupLiteralArray) + { + builder.AddRange(literal.LiteralTokens); + } + var rewritten = SyntaxFactory.MarkupTextLiteral(builder.ToList()).Green.CreateRed(node.Parent, position); + Visit(rewritten); + } + else if (children.All(c => c is CSharpExpressionLiteralSyntax)) + { + var builder = SyntaxListBuilder.Create(); + var expressionLiteralArray = children.Cast(); + SpanContext context = null; + foreach (var literal in expressionLiteralArray) + { + context = literal.GetSpanContext(); + builder.AddRange(literal.LiteralTokens); + } + var rewritten = SyntaxFactory.CSharpExpressionLiteral(builder.ToList()).Green.CreateRed(node.Parent, position); + rewritten = context != null ? rewritten.WithSpanContext(context) : rewritten; + Visit(rewritten); + } + else + { + Visit(node); + } + } + + private MarkupTextLiteralSyntax MergeAttributeValue(MarkupLiteralAttributeValueSyntax node) + { + var valueTokens = MergeLiterals(node.Prefix?.LiteralTokens, node.Value?.LiteralTokens); + var rewritten = node.Prefix?.Update(valueTokens) ?? node.Value?.Update(valueTokens); + rewritten = (MarkupTextLiteralSyntax)rewritten?.Green.CreateRed(node, node.Position); + var originalContext = rewritten.GetSpanContext(); + if (originalContext != null) + { + rewritten = rewritten.WithSpanContext(new SpanContext(new MarkupChunkGenerator(), originalContext.EditHandler)); + } + + return rewritten; + } + + private void Combine(HtmlContentIntermediateNode node, SyntaxNode item) { node.Children.Add(new IntermediateToken() { - Content = span.Content, + Content = item.GetContent(), Kind = TokenKind.Html, - Source = BuildSourceSpanFromNode(span), + Source = BuildSourceSpanFromNode(item), }); if (node.Source != null) @@ -700,76 +1061,25 @@ private void Combine(HtmlContentIntermediateNode node, Span span) node.Source.Value.AbsoluteIndex, node.Source.Value.LineIndex, node.Source.Value.CharacterIndex, - node.Source.Value.Length + span.Content.Length); + node.Source.Value.Length + item.FullWidth); } } - private void AddTagHelperAttributes(IList attributes, TagHelperBinding tagHelperBinding) + private SyntaxList MergeLiterals(params SyntaxList?[] literals) { - var descriptors = tagHelperBinding.Descriptors; - var renderedBoundAttributeNames = new HashSet(StringComparer.OrdinalIgnoreCase); - foreach (var attribute in attributes) + var builder = SyntaxListBuilder.Create(); + for (var i = 0; i < literals.Length; i++) { - var attributeValueNode = attribute.Value; - var associatedDescriptors = descriptors.Where(descriptor => - descriptor.BoundAttributes.Any(attributeDescriptor => TagHelperMatchingConventions.CanSatisfyBoundAttribute(attribute.Name, attributeDescriptor))); - - if (associatedDescriptors.Any() && renderedBoundAttributeNames.Add(attribute.Name)) + var literal = literals[i]; + if (!literal.HasValue) { - var isMinimizedAttribute = attributeValueNode == null; - if (isMinimizedAttribute && !_featureFlags.AllowMinimizedBooleanTagHelperAttributes) - { - // Minimized attributes are not valid for non-boolean bound attributes. TagHelperBlockRewriter - // has already logged an error if it was a non-boolean bound attribute; so we can skip. - continue; - } - - foreach (var associatedDescriptor in associatedDescriptors) - { - var associatedAttributeDescriptor = associatedDescriptor.BoundAttributes.First(a => - { - return TagHelperMatchingConventions.CanSatisfyBoundAttribute(attribute.Name, a); - }); - - var expectsBooleanValue = associatedAttributeDescriptor.ExpectsBooleanValue(attribute.Name); - - if (isMinimizedAttribute && !expectsBooleanValue) - { - // We do not allow minimized non-boolean bound attributes. - continue; - } - - var setTagHelperProperty = new TagHelperPropertyIntermediateNode() - { - AttributeName = attribute.Name, - BoundAttribute = associatedAttributeDescriptor, - TagHelper = associatedDescriptor, - AttributeStructure = attribute.AttributeStructure, - Source = BuildSourceSpanFromNode(attributeValueNode), - IsIndexerNameMatch = TagHelperMatchingConventions.SatisfiesBoundAttributeIndexer(attribute.Name, associatedAttributeDescriptor), - }; - - _builder.Push(setTagHelperProperty); - attributeValueNode?.Accept(this); - _builder.Pop(); - } + continue; } - else - { - var addHtmlAttribute = new TagHelperHtmlAttributeIntermediateNode() - { - AttributeName = attribute.Name, - AttributeStructure = attribute.AttributeStructure - }; - _builder.Push(addHtmlAttribute); - if (attributeValueNode != null) - { - attributeValueNode.Accept(this); - } - _builder.Pop(); - } + builder.AddRange(literal.Value); } + + return builder.ToList(); } } @@ -827,8 +1137,8 @@ public override void VisitDirective(DirectiveIntermediateNode node) } } - private static bool IsMalformed(List diagnostics) - => diagnostics.Count > 0 && diagnostics.Any(diagnostic => diagnostic.Severity == RazorDiagnosticSeverity.Error); + private static bool IsMalformed(IEnumerable diagnostics) + => diagnostics.Any(diagnostic => diagnostic.Severity == RazorDiagnosticSeverity.Error); } #pragma warning restore CS0618 // Type or member is obsolete } diff --git a/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorParsingPhase.cs b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorParsingPhase.cs index 826420127..cff35e508 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorParsingPhase.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorParsingPhase.cs @@ -16,13 +16,13 @@ protected override void OnIntialized() protected override void ExecuteCore(RazorCodeDocument codeDocument) { var options = codeDocument.GetParserOptions() ??_optionsFeature.GetOptions(); - var syntaxTree = RazorSyntaxTree.Parse(codeDocument.Source, options); + var syntaxTree = RazorSyntaxTree.Parse(codeDocument.Source, options, legacy: false); codeDocument.SetSyntaxTree(syntaxTree); var importSyntaxTrees = new RazorSyntaxTree[codeDocument.Imports.Count]; for (var i = 0; i < codeDocument.Imports.Count; i++) { - importSyntaxTrees[i] = RazorSyntaxTree.Parse(codeDocument.Imports[i], options); + importSyntaxTrees[i] = RazorSyntaxTree.Parse(codeDocument.Imports[i], options, legacy: false); } codeDocument.SetImportSyntaxTrees(importSyntaxTrees); } diff --git a/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorSyntaxTree.cs b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorSyntaxTree.cs index 4b6d43fe0..ec9522f3c 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorSyntaxTree.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorSyntaxTree.cs @@ -1,15 +1,17 @@ // 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 Microsoft.AspNetCore.Razor.Language.Legacy; +using Microsoft.AspNetCore.Razor.Language.Syntax; namespace Microsoft.AspNetCore.Razor.Language { internal class DefaultRazorSyntaxTree : RazorSyntaxTree { public DefaultRazorSyntaxTree( - Block root, + SyntaxNode root, RazorSourceDocument source, IReadOnlyList diagnostics, RazorParserOptions options) @@ -24,8 +26,11 @@ public DefaultRazorSyntaxTree( public override RazorParserOptions Options { get; } - internal override Block Root { get; } + internal override SyntaxNode Root { get; } public override RazorSourceDocument Source { get; } + + // Temporary + internal override Block LegacyRoot => throw new NotImplementedException(); } } diff --git a/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorTagHelperBinderPhase.cs b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorTagHelperBinderPhase.cs index aa0668a53..74fd5b323 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorTagHelperBinderPhase.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorTagHelperBinderPhase.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Razor.Language.Legacy; +using Microsoft.AspNetCore.Razor.Language.Syntax; namespace Microsoft.AspNetCore.Razor.Language { @@ -15,6 +16,12 @@ protected override void ExecuteCore(RazorCodeDocument codeDocument) var syntaxTree = codeDocument.GetSyntaxTree(); ThrowForMissingDocumentDependency(syntaxTree); + if (syntaxTree is LegacyRazorSyntaxTree) + { + LegacyExecuteCore(codeDocument); + return; + } + var descriptors = codeDocument.GetTagHelpers(); if (descriptors == null) { @@ -39,11 +46,62 @@ protected override void ExecuteCore(RazorCodeDocument codeDocument) for (var i = 0; i < imports.Count; i++) { var import = imports[i]; - visitor.VisitBlock(import.Root); + visitor.Visit(import.Root); + } + } + + visitor.Visit(syntaxTree.Root); + + var tagHelperPrefix = visitor.TagHelperPrefix; + descriptors = visitor.Matches.ToArray(); + + var context = TagHelperDocumentContext.Create(tagHelperPrefix, descriptors); + codeDocument.SetTagHelperContext(context); + + if (descriptors.Count == 0) + { + // No descriptors, no-op. + return; + } + + var rewrittenSyntaxTree = TagHelperParseTreeRewriter.Rewrite(syntaxTree, tagHelperPrefix, descriptors); + + codeDocument.SetSyntaxTree(rewrittenSyntaxTree); + } + + private void LegacyExecuteCore(RazorCodeDocument codeDocument) + { + var syntaxTree = codeDocument.GetSyntaxTree(); + + var descriptors = codeDocument.GetTagHelpers(); + if (descriptors == null) + { + var feature = Engine.Features.OfType().FirstOrDefault(); + if (feature == null) + { + // No feature, nothing to do. + return; + } + + descriptors = feature.GetDescriptors(); + } + + // We need to find directives in all of the *imports* as well as in the main razor file + // + // The imports come logically before the main razor file and are in the order they + // should be processed. + var visitor = new LegacyDirectiveVisitor(descriptors); + var imports = codeDocument.GetImportSyntaxTrees(); + if (imports != null) + { + for (var i = 0; i < imports.Count; i++) + { + var import = imports[i]; + visitor.VisitBlock(import.LegacyRoot); } } - visitor.VisitBlock(syntaxTree.Root); + visitor.VisitBlock(syntaxTree.LegacyRoot); var tagHelperPrefix = visitor.TagHelperPrefix; descriptors = visitor.Matches.ToArray(); @@ -58,9 +116,9 @@ protected override void ExecuteCore(RazorCodeDocument codeDocument) } var errorSink = new ErrorSink(); - var rewriter = new TagHelperParseTreeRewriter(tagHelperPrefix, descriptors, syntaxTree.Options.FeatureFlags); + var rewriter = new LegacyTagHelperParseTreeRewriter(tagHelperPrefix, descriptors, syntaxTree.Options.FeatureFlags); - var root = syntaxTree.Root; + var root = syntaxTree.LegacyRoot; root = rewriter.Rewrite(root, errorSink); var errorList = new List(); @@ -114,8 +172,7 @@ private IReadOnlyList CombineErrors(IReadOnlyList _tagHelpers; @@ -128,6 +185,110 @@ public DirectiveVisitor(IReadOnlyList tagHelpers) public HashSet Matches { get; } = new HashSet(); + public override SyntaxNode VisitRazorDirective(RazorDirectiveSyntax node) + { + var descendantLiterals = node.DescendantNodes(); + foreach (var child in descendantLiterals) + { + if (!(child is CSharpStatementLiteralSyntax literal)) + { + continue; + } + + var context = literal.GetSpanContext(); + if (context == null) + { + // We can't find a chunk generator. + continue; + } + else if (context.ChunkGenerator is AddTagHelperChunkGenerator addTagHelper) + { + if (addTagHelper.AssemblyName == null) + { + // Skip this one, it's an error + continue; + } + + if (!AssemblyContainsTagHelpers(addTagHelper.AssemblyName, _tagHelpers)) + { + // No tag helpers in the assembly. + continue; + } + + for (var i = 0; i < _tagHelpers.Count; i++) + { + var tagHelper = _tagHelpers[i]; + if (MatchesDirective(tagHelper, addTagHelper.TypePattern, addTagHelper.AssemblyName)) + { + Matches.Add(tagHelper); + } + } + } + else if (context.ChunkGenerator is RemoveTagHelperChunkGenerator removeTagHelper) + { + if (removeTagHelper.AssemblyName == null) + { + // Skip this one, it's an error + continue; + } + + + if (!AssemblyContainsTagHelpers(removeTagHelper.AssemblyName, _tagHelpers)) + { + // No tag helpers in the assembly. + continue; + } + + for (var i = 0; i < _tagHelpers.Count; i++) + { + var tagHelper = _tagHelpers[i]; + if (MatchesDirective(tagHelper, removeTagHelper.TypePattern, removeTagHelper.AssemblyName)) + { + Matches.Remove(tagHelper); + } + } + } + else if (context.ChunkGenerator is TagHelperPrefixDirectiveChunkGenerator tagHelperPrefix) + { + if (!string.IsNullOrEmpty(tagHelperPrefix.DirectiveText)) + { + // We only expect to see a single one of these per file, but that's enforced at another level. + TagHelperPrefix = tagHelperPrefix.DirectiveText; + } + } + } + + return base.VisitRazorDirective(node); + } + + private bool AssemblyContainsTagHelpers(string assemblyName, IReadOnlyList tagHelpers) + { + for (var i = 0; i < tagHelpers.Count; i++) + { + if (string.Equals(tagHelpers[i].AssemblyName, assemblyName, StringComparison.Ordinal)) + { + return true; + } + } + + return false; + } + } + + // Internal for testing. + internal class LegacyDirectiveVisitor : ParserVisitor + { + private IReadOnlyList _tagHelpers; + + public LegacyDirectiveVisitor(IReadOnlyList tagHelpers) + { + _tagHelpers = tagHelpers; + } + + public string TagHelperPrefix { get; private set; } + + public HashSet Matches { get; } = new HashSet(); + public override void VisitAddTagHelperSpan(AddTagHelperChunkGenerator chunkGenerator, Span span) { if (chunkGenerator.AssemblyName == null) diff --git a/src/Microsoft.AspNetCore.Razor.Language/HtmlNodeOptimizationPass.cs b/src/Microsoft.AspNetCore.Razor.Language/HtmlNodeOptimizationPass.cs index ea3d75455..a7be0462f 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/HtmlNodeOptimizationPass.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/HtmlNodeOptimizationPass.cs @@ -22,14 +22,28 @@ public RazorSyntaxTree Execute(RazorCodeDocument codeDocument, RazorSyntaxTree s throw new ArgumentNullException(nameof(syntaxTree)); } - var conditionalAttributeCollapser = new ConditionalAttributeCollapser(); - var rewritten = conditionalAttributeCollapser.Rewrite(syntaxTree.Root); + if (syntaxTree is LegacyRazorSyntaxTree) + { + return LegacyExecute(codeDocument, syntaxTree); + } + + var whitespaceRewriter = new WhitespaceRewriter(); + var rewritten = whitespaceRewriter.Visit(syntaxTree.Root); + + var rewrittenSyntaxTree = RazorSyntaxTree.Create(rewritten, syntaxTree.Source, syntaxTree.Diagnostics, syntaxTree.Options); + return rewrittenSyntaxTree; + } + + private RazorSyntaxTree LegacyExecute(RazorCodeDocument codeDocument, RazorSyntaxTree syntaxTree) + { + var conditionalAttributeCollapser = new LegacyConditionalAttributeCollapser(); + var rewritten = conditionalAttributeCollapser.Rewrite(syntaxTree.LegacyRoot); - var whitespaceRewriter = new WhiteSpaceRewriter(); + var whitespaceRewriter = new LegacyWhitespaceRewriter(); rewritten = whitespaceRewriter.Rewrite(rewritten); var rewrittenSyntaxTree = RazorSyntaxTree.Create(rewritten, syntaxTree.Source, syntaxTree.Diagnostics, syntaxTree.Options); return rewrittenSyntaxTree; } } -} +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Razor.Language/Legacy/CSharpCodeParser.cs b/src/Microsoft.AspNetCore.Razor.Language/Legacy/CSharpCodeParser.cs index 126970945..6a08e68d8 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Legacy/CSharpCodeParser.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Legacy/CSharpCodeParser.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { - internal class CSharpCodeParser : TokenizerBackedParser + internal partial class CSharpCodeParser : TokenizerBackedParser { private static HashSet InvalidNonWhitespaceNameCharacters = new HashSet(new[] { @@ -95,6 +95,10 @@ public CSharpCodeParser(IEnumerable directives, ParserConte SetUpKeywords(); SetupDirectives(directives); SetUpExpressions(); + + SetupKeywordParsers(); + SetupExpressionParsers(); + SetupDirectiveParsers(directives); } public HtmlMarkupParser HtmlParser { get; set; } @@ -193,7 +197,7 @@ protected static Func IsSpacingToken(bool includeNewLines, bo (includeComments && token.Kind == SyntaxKind.CSharpComment); } - public override void ParseBlock() + public override void ParseBlock1() { using (PushSpanConfig(DefaultSpanConfig)) { @@ -268,8 +272,8 @@ private void AtTransition(SyntaxToken current) private void AfterTransition() { - using (PushSpanConfig(DefaultSpanConfig)) - { + //using (PushSpanConfig(DefaultSpanConfig)) + //{ EnsureCurrent(); try { @@ -367,7 +371,7 @@ private void AfterTransition() // Always put current character back in the buffer for the next parser. PutCurrentBack(); } - } + //} } private void VerbatimBlock() @@ -553,17 +557,17 @@ private bool MethodCallOrArrayIndex(AcceptedCharactersInternal acceptedCharacter return false; } - protected void CompleteBlock() + protected void CompleteBlock1() { - CompleteBlock(insertMarkerIfNecessary: true); + CompleteBlock1(insertMarkerIfNecessary: true); } - protected void CompleteBlock(bool insertMarkerIfNecessary) + protected void CompleteBlock1(bool insertMarkerIfNecessary) { - CompleteBlock(insertMarkerIfNecessary, captureWhitespaceToEndOfLine: insertMarkerIfNecessary); + CompleteBlock1(insertMarkerIfNecessary, captureWhitespaceToEndOfLine: insertMarkerIfNecessary); } - protected void CompleteBlock(bool insertMarkerIfNecessary, bool captureWhitespaceToEndOfLine) + protected void CompleteBlock1(bool insertMarkerIfNecessary, bool captureWhitespaceToEndOfLine) { if (insertMarkerIfNecessary && Context.Builder.LastAcceptedCharacters != AcceptedCharactersInternal.Any) { @@ -580,7 +584,7 @@ protected void CompleteBlock(bool insertMarkerIfNecessary, bool captureWhitespac !Context.DesignTimeMode && !IsNested) { - CaptureWhitespaceAtEndOfCodeOnlyLine(); + CaptureWhitespaceAtEndOfCodeOnlyLine1(); } else { @@ -588,7 +592,7 @@ protected void CompleteBlock(bool insertMarkerIfNecessary, bool captureWhitespac } } - private void CaptureWhitespaceAtEndOfCodeOnlyLine() + private void CaptureWhitespaceAtEndOfCodeOnlyLine1() { var whitespace = ReadWhile(token => token.Kind == SyntaxKind.Whitespace); if (At(SyntaxKind.NewLine)) @@ -639,7 +643,7 @@ private void ExplicitExpression() // If necessary, put an empty-content marker token here if (Span.Tokens.Count == 0) { - Accept(SyntaxFactory.Token(SyntaxKind.Unknown, string.Empty)); + Accept(SyntaxFactory.Token(SyntaxKind.Marker, string.Empty)); } // Output the content span and then capture the ")" @@ -652,7 +656,7 @@ private void ExplicitExpression() } Span.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; Span.ChunkGenerator = SpanChunkGenerator.Null; - CompleteBlock(insertMarkerIfNecessary: false); + CompleteBlock1(insertMarkerIfNecessary: false); // This is unnecessary Output(SpanKindInternal.MetaCode); } @@ -675,12 +679,12 @@ private void Template() private void OtherParserBlock() { - ParseWithOtherParser(p => p.ParseBlock()); + ParseWithOtherParser(p => p.ParseBlock1()); } private void SectionBlock(string left, string right, bool caseSensitive) { - ParseWithOtherParser(p => p.ParseRazorBlock(Tuple.Create(left, right), caseSensitive)); + ParseWithOtherParser(p => p.ParseRazorBlock1(Tuple.Create(left, right), caseSensitive)); } private void NestedBlock() @@ -691,7 +695,7 @@ private void NestedBlock() IsNested = true; using (PushSpanConfig()) { - ParseBlock(); + ParseBlock1(); } Span.Start = CurrentLocation; @@ -700,15 +704,6 @@ private void NestedBlock() NextToken(); } - protected override bool IsAtEmbeddedTransition(bool allowTemplatesAndComments, bool allowTransitions) - { - // No embedded transitions in C#, so ignore that param - return allowTemplatesAndComments - && ((Language.IsTransition(CurrentToken) - && NextIs(SyntaxKind.LessThan, SyntaxKind.Colon, SyntaxKind.DoubleColon)) - || Language.IsCommentStart(CurrentToken)); - } - protected override void HandleEmbeddedTransition() { if (Language.IsTransition(CurrentToken)) @@ -770,7 +765,7 @@ protected virtual void ReservedDirective(bool topLevel) Span.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; Span.ChunkGenerator = SpanChunkGenerator.Null; Context.Builder.CurrentBlock.Type = BlockKindInternal.Directive; - CompleteBlock(); + CompleteBlock1(); Output(SpanKindInternal.MetaCode); } @@ -802,7 +797,7 @@ private void DoStatement(bool topLevel) WhileClause(); if (topLevel) { - CompleteBlock(); + CompleteBlock1(); } } @@ -859,7 +854,7 @@ private void UsingKeyword(bool topLevel) if (topLevel) { - CompleteBlock(); + CompleteBlock1(); } } @@ -1070,7 +1065,7 @@ private void TryStatement(bool topLevel) AfterTryClause(); if (topLevel) { - CompleteBlock(); + CompleteBlock1(); } } @@ -1081,7 +1076,7 @@ private void IfStatement(bool topLevel) AfterIfClause(); if (topLevel) { - CompleteBlock(); + CompleteBlock1(); } } @@ -1228,7 +1223,7 @@ private void ConditionalBlock(bool topLevel) ConditionalBlock(block); if (topLevel) { - CompleteBlock(); + CompleteBlock1(); } } @@ -1353,7 +1348,7 @@ private void HandleStatement(Block block, SyntaxKind type) switch (type) { case SyntaxKind.RazorCommentTransition: - Output(SpanKindInternal.Code); + Output(SpanKindInternal.Code); // Not needed RazorComment(); Statement(block); break; @@ -1645,7 +1640,7 @@ private void HandleDirective(DirectiveDescriptor descriptor) Output(SpanKindInternal.MetaCode, AcceptedCharactersInternal.None); // Even if an error was logged do not bail out early. If a directive was used incorrectly it doesn't mean it can't be parsed. - ValidateDirectiveUsage(descriptor); + ValidateDirectiveUsage1(descriptor); for (var i = 0; i < descriptor.Tokens.Count; i++) { @@ -1803,7 +1798,7 @@ private void HandleDirective(DirectiveDescriptor descriptor) using (PushSpanConfig()) { - HtmlParser.ParseRazorBlock(Tuple.Create("{", "}"), caseSensitive: true); + HtmlParser.ParseRazorBlock1(Tuple.Create("{", "}"), caseSensitive: true); } Span.Start = CurrentLocation; @@ -1847,7 +1842,7 @@ private void HandleDirective(DirectiveDescriptor descriptor) } - private void ValidateDirectiveUsage(DirectiveDescriptor descriptor) + private void ValidateDirectiveUsage1(DirectiveDescriptor descriptor) { if (descriptor.Usage == DirectiveUsage.FileScopedSinglyOccurring) { @@ -1902,7 +1897,7 @@ private void ParseDirectiveBlock(DirectiveDescriptor descriptor, Action { - var parsedDirective = ParseDirective(lookupText, Span.Start, TagHelperDirectiveType.AddTagHelper, errors); + var parsedDirective = ParseDirective1(lookupText, Span.Start, TagHelperDirectiveType.AddTagHelper, errors); return new AddTagHelperChunkGenerator( lookupText, @@ -2072,7 +2067,7 @@ protected virtual void RemoveTagHelperDirective() SyntaxConstants.CSharp.RemoveTagHelperKeyword, (lookupText, errors) => { - var parsedDirective = ParseDirective(lookupText, Span.Start, TagHelperDirectiveType.RemoveTagHelper, errors); + var parsedDirective = ParseDirective1(lookupText, Span.Start, TagHelperDirectiveType.RemoveTagHelper, errors); return new RemoveTagHelperChunkGenerator( lookupText, @@ -2163,7 +2158,7 @@ private void TagHelperDirective(string keyword, Func, CSharpTransitionSyntax>> _keywordParserMap = new Dictionary, CSharpTransitionSyntax>>(); + private Dictionary, CSharpTransitionSyntax>> _directiveParserMap = new Dictionary, CSharpTransitionSyntax>>(StringComparer.Ordinal); + + public CSharpCodeBlockSyntax ParseBlock() + { + if (Context == null) + { + throw new InvalidOperationException(Resources.Parser_Context_Not_Set); + } + + if (EndOfFile) + { + // Nothing to parse. + return null; + } + + using (var pooledResult = Pool.Allocate()) + using (PushSpanContextConfig(DefaultSpanContextConfig)) + { + var builder = pooledResult.Builder; + try + { + NextToken(); + + // Unless changed, the block is a statement block + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + builder.Add(OutputTokensAsStatementLiteral()); + + // We are usually called when the other parser sees a transition '@'. Look for it. + SyntaxToken transitionToken = null; + if (At(SyntaxKind.StringLiteral) && + CurrentToken.Content.Length > 0 && + CurrentToken.Content[0] == SyntaxConstants.TransitionCharacter) + { + var split = Language.SplitToken(CurrentToken, 1, SyntaxKind.Transition); + transitionToken = split.Item1; + + // Back up to the end of the transition + Context.Source.Position -= split.Item2.Content.Length; + NextToken(); + } + else if (At(SyntaxKind.Transition)) + { + transitionToken = EatCurrentToken(); + } + + if (transitionToken == null) + { + transitionToken = SyntaxFactory.MissingToken(SyntaxKind.Transition); + } + + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; + var transition = GetNodeWithSpanContext(SyntaxFactory.CSharpTransition(transitionToken)); + + if (At(SyntaxKind.LeftBrace)) + { + var statementBody = ParseStatementBody(); + var statement = SyntaxFactory.CSharpStatement(transition, statementBody); + builder.Add(statement); + } + else if (At(SyntaxKind.LeftParenthesis)) + { + var expressionBody = ParseExplicitExpressionBody(); + var expression = SyntaxFactory.CSharpExplicitExpression(transition, expressionBody); + builder.Add(expression); + } + else if (At(SyntaxKind.Identifier)) + { + if (!TryParseDirective(builder, transition, CurrentToken.Content)) + { + if (string.Equals( + CurrentToken.Content, + SyntaxConstants.CSharp.HelperKeyword, + StringComparison.Ordinal)) + { + var diagnostic = RazorDiagnosticFactory.CreateParsing_HelperDirectiveNotAvailable( + new SourceSpan(CurrentStart, CurrentToken.Content.Length)); + CurrentToken.SetDiagnostics(new[] { diagnostic }); + Context.ErrorSink.OnError(diagnostic); + } + + var implicitExpressionBody = ParseImplicitExpressionBody(); + var implicitExpression = SyntaxFactory.CSharpImplicitExpression(transition, implicitExpressionBody); + builder.Add(implicitExpression); + } + } + else if (At(SyntaxKind.Keyword)) + { + if (!TryParseDirective(builder, transition, CurrentToken.Content) && + !TryParseKeyword(builder, transition)) + { + // Not a directive or a special keyword. Just parse as an implicit expression. + var implicitExpressionBody = ParseImplicitExpressionBody(); + var implicitExpression = SyntaxFactory.CSharpImplicitExpression(transition, implicitExpressionBody); + builder.Add(implicitExpression); + } + + builder.Add(OutputTokensAsStatementLiteral()); + } + else + { + // Invalid character + SpanContext.ChunkGenerator = new ExpressionChunkGenerator(); + SpanContext.EditHandler = new ImplicitExpressionEditHandler( + Language.TokenizeString, + CurrentKeywords, + acceptTrailingDot: IsNested) + { + AcceptedCharacters = AcceptedCharactersInternal.NonWhitespace + }; + + AcceptMarkerTokenIfNecessary(); + var expressionLiteral = SyntaxFactory.CSharpCodeBlock(OutputTokensAsExpressionLiteral()); + var expressionBody = SyntaxFactory.CSharpImplicitExpressionBody(expressionLiteral); + var expressionBlock = SyntaxFactory.CSharpImplicitExpression(transition, expressionBody); + builder.Add(expressionBlock); + + if (At(SyntaxKind.Whitespace) || At(SyntaxKind.NewLine)) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_UnexpectedWhiteSpaceAtStartOfCodeBlock( + new SourceSpan(CurrentStart, CurrentToken.Content.Length))); + } + else if (EndOfFile) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_UnexpectedEndOfFileAtStartOfCodeBlock( + new SourceSpan(CurrentStart, contentLength: 1 /* end of file */))); + } + else + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_UnexpectedCharacterAtStartOfCodeBlock( + new SourceSpan(CurrentStart, CurrentToken.Content.Length), + CurrentToken.Content)); + } + } + + Debug.Assert(TokenBuilder.Count == 0, "We should not have any tokens left."); + + var codeBlock = SyntaxFactory.CSharpCodeBlock(builder.ToList()); + return codeBlock; + } + finally + { + // Always put current character back in the buffer for the next parser. + PutCurrentBack(); + } + } + } + + private CSharpExplicitExpressionBodySyntax ParseExplicitExpressionBody() + { + var block = new Block(Resources.BlockName_ExplicitExpression, CurrentStart); + Assert(SyntaxKind.LeftParenthesis); + var leftParenToken = EatCurrentToken(); + var leftParen = OutputAsMetaCode(leftParenToken); + + using (var pooledResult = Pool.Allocate()) + { + var expressionBuilder = pooledResult.Builder; + using (PushSpanContextConfig(ExplicitExpressionSpanContextConfig)) + { + var success = BalanceToken( + expressionBuilder, + BalancingModes.BacktrackOnFailure | + BalancingModes.NoErrorOnFailure | + BalancingModes.AllowCommentsAndTemplates, + SyntaxKind.LeftParenthesis, + SyntaxKind.RightParenthesis, + block.Start); + + if (!success) + { + AcceptTokenUntil(SyntaxKind.LessThan); + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( + new SourceSpan(block.Start, contentLength: 1 /* ( */), block.Name, ")", "(")); + } + + // If necessary, put an empty-content marker token here + AcceptMarkerTokenIfNecessary(); + expressionBuilder.Add(OutputTokensAsExpressionLiteral()); + } + + var expressionBlock = SyntaxFactory.CSharpCodeBlock(expressionBuilder.ToList()); + + RazorMetaCodeSyntax rightParen = null; + if (At(SyntaxKind.RightParenthesis)) + { + rightParen = OutputAsMetaCode(EatCurrentToken()); + } + else + { + var missingToken = SyntaxFactory.MissingToken(SyntaxKind.RightParenthesis); + rightParen = OutputAsMetaCode(missingToken, SpanContext.EditHandler.AcceptedCharacters); + } + if (!EndOfFile) + { + PutCurrentBack(); + } + + return SyntaxFactory.CSharpExplicitExpressionBody(leftParen, expressionBlock, rightParen); + } + } + + private CSharpImplicitExpressionBodySyntax ParseImplicitExpressionBody(bool async = false) + { + var accepted = AcceptedCharactersInternal.NonWhitespace; + if (async) + { + // Async implicit expressions include the "await" keyword and therefore need to allow spaces to + // separate the "await" and the following code. + accepted = AcceptedCharactersInternal.AnyExceptNewline; + } + + using (var pooledResult = Pool.Allocate()) + { + var expressionBuilder = pooledResult.Builder; + ParseImplicitExpression(expressionBuilder, accepted); + var codeBlock = SyntaxFactory.CSharpCodeBlock(expressionBuilder.ToList()); + return SyntaxFactory.CSharpImplicitExpressionBody(codeBlock); + } + } + + private void ParseImplicitExpression(in SyntaxListBuilder builder, AcceptedCharactersInternal acceptedCharacters) + { + using (PushSpanContextConfig(spanContext => + { + spanContext.EditHandler = new ImplicitExpressionEditHandler( + Language.TokenizeString, + Keywords, + acceptTrailingDot: IsNested); + spanContext.EditHandler.AcceptedCharacters = acceptedCharacters; + spanContext.ChunkGenerator = new ExpressionChunkGenerator(); + })) + { + do + { + if (AtIdentifier(allowKeywords: true)) + { + AcceptTokenAndMoveNext(); + } + } + while (ParseMethodCallOrArrayIndex(builder, acceptedCharacters)); + + PutCurrentBack(); + builder.Add(OutputTokensAsExpressionLiteral()); + } + } + + private bool ParseMethodCallOrArrayIndex(in SyntaxListBuilder builder, AcceptedCharactersInternal acceptedCharacters) + { + if (!EndOfFile) + { + if (CurrentToken.Kind == SyntaxKind.LeftParenthesis || + CurrentToken.Kind == SyntaxKind.LeftBracket) + { + // If we end within "(", whitespace is fine + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Any; + + SyntaxKind right; + bool success; + + using (PushSpanContextConfig((spanContext, prev) => + { + prev(spanContext); + spanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Any; + })) + { + right = Language.FlipBracket(CurrentToken.Kind); + success = BalanceToken(builder, BalancingModes.BacktrackOnFailure | BalancingModes.AllowCommentsAndTemplates); + } + + if (!success) + { + AcceptTokenUntil(SyntaxKind.LessThan); + } + if (At(right)) + { + AcceptTokenAndMoveNext(); + + // At the ending brace, restore the initial accepted characters. + SpanContext.EditHandler.AcceptedCharacters = acceptedCharacters; + } + return ParseMethodCallOrArrayIndex(builder, acceptedCharacters); + } + if (At(SyntaxKind.QuestionMark)) + { + var next = Lookahead(count: 1); + + if (next != null) + { + if (next.Kind == SyntaxKind.Dot) + { + // Accept null conditional dot operator (?.). + AcceptTokenAndMoveNext(); + AcceptTokenAndMoveNext(); + + // If the next piece after the ?. is a keyword or identifier then we want to continue. + return At(SyntaxKind.Identifier) || At(SyntaxKind.Keyword); + } + else if (next.Kind == SyntaxKind.LeftBracket) + { + // We're at the ? for a null conditional bracket operator (?[). + AcceptTokenAndMoveNext(); + + // Accept the [ and any content inside (it will attempt to balance). + return ParseMethodCallOrArrayIndex(builder, acceptedCharacters); + } + } + } + else if (At(SyntaxKind.Dot)) + { + var dot = CurrentToken; + if (NextToken()) + { + if (At(SyntaxKind.Identifier) || At(SyntaxKind.Keyword)) + { + // Accept the dot and return to the start + AcceptToken(dot); + return true; // continue + } + else + { + // Put the token back + PutCurrentBack(); + } + } + if (!IsNested) + { + // Put the "." back + PutBack(dot); + } + else + { + AcceptToken(dot); + } + } + else if (!At(SyntaxKind.Whitespace) && !At(SyntaxKind.NewLine)) + { + PutCurrentBack(); + } + } + + // Implicit Expression is complete + return false; + } + + private CSharpStatementBodySyntax ParseStatementBody(Block block = null) + { + Assert(SyntaxKind.LeftBrace); + block = block ?? new Block(Resources.BlockName_Code, CurrentStart); + var leftBrace = OutputAsMetaCode(GetExpectedToken(SyntaxKind.LeftBrace)); + CSharpCodeBlockSyntax codeBlock = null; + using (var pooledResult = Pool.Allocate()) + { + var builder = pooledResult.Builder; + // Set up auto-complete and parse the code block + var editHandler = new AutoCompleteEditHandler(Language.TokenizeString); + SpanContext.EditHandler = editHandler; + ParseCodeBlock(builder, block, acceptTerminatingBrace: false); + + EnsureCurrent(); + SpanContext.ChunkGenerator = new StatementChunkGenerator(); + AcceptMarkerTokenIfNecessary(); + if (!At(SyntaxKind.RightBrace)) + { + editHandler.AutoCompleteString = "}"; + } + builder.Add(OutputTokensAsStatementLiteral()); + + codeBlock = SyntaxFactory.CSharpCodeBlock(builder.ToList()); + } + + RazorMetaCodeSyntax rightBrace = null; + if (At(SyntaxKind.RightBrace)) + { + rightBrace = OutputAsMetaCode(EatCurrentToken()); + } + else + { + rightBrace = OutputAsMetaCode( + SyntaxFactory.MissingToken(SyntaxKind.RightBrace), + SpanContext.EditHandler.AcceptedCharacters); + } + + if (!IsNested) + { + EnsureCurrent(); + if (At(SyntaxKind.NewLine) || + (At(SyntaxKind.Whitespace) && NextIs(SyntaxKind.NewLine))) + { + Context.NullGenerateWhitespaceAndNewLine = true; + } + } + + return SyntaxFactory.CSharpStatementBody(leftBrace, codeBlock, rightBrace); + } + + private void ParseCodeBlock(in SyntaxListBuilder builder, Block block, bool acceptTerminatingBrace = true) + { + EnsureCurrent(); + while (!EndOfFile && !At(SyntaxKind.RightBrace)) + { + // Parse a statement, then return here + ParseStatement(builder, block: block); + EnsureCurrent(); + } + + if (EndOfFile) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( + new SourceSpan(block.Start, contentLength: 1 /* { OR } */), block.Name, "}", "{")); + } + else if (acceptTerminatingBrace) + { + Assert(SyntaxKind.RightBrace); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; + AcceptTokenAndMoveNext(); + } + } + + private void ParseStatement(in SyntaxListBuilder builder, Block block) + { + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Any; + // Accept whitespace but always keep the last whitespace node so we can put it back if necessary + var lastWhitespace = AcceptWhitespaceTokensInLines(); + if (EndOfFile) + { + if (lastWhitespace != null) + { + AcceptToken(lastWhitespace); + } + + builder.Add(OutputTokensAsStatementLiteral()); + return; + } + + var kind = CurrentToken.Kind; + var location = CurrentStart; + + // Both cases @: and @:: are triggered as markup, second colon in second case will be triggered as a plain text + var isSingleLineMarkup = kind == SyntaxKind.Transition && + (NextIs(SyntaxKind.Colon, SyntaxKind.DoubleColon)); + + var isMarkup = isSingleLineMarkup || + kind == SyntaxKind.LessThan || + (kind == SyntaxKind.Transition && NextIs(SyntaxKind.LessThan)); + + if (Context.DesignTimeMode || !isMarkup) + { + // CODE owns whitespace, MARKUP owns it ONLY in DesignTimeMode. + if (lastWhitespace != null) + { + AcceptToken(lastWhitespace); + } + } + else + { + var nextToken = Lookahead(1); + + // MARKUP owns whitespace EXCEPT in DesignTimeMode. + PutCurrentBack(); + + // Put back the whitespace unless it precedes a '' tag. + if (nextToken != null && + !string.Equals(nextToken.Content, SyntaxConstants.TextTagName, StringComparison.Ordinal)) + { + PutBack(lastWhitespace); + } + else + { + // If it precedes a '' tag, it should be accepted as code. + AcceptToken(lastWhitespace); + } + } + + if (isMarkup) + { + if (kind == SyntaxKind.Transition && !isSingleLineMarkup) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_AtInCodeMustBeFollowedByColonParenOrIdentifierStart( + new SourceSpan(location, contentLength: 1 /* @ */))); + } + + // Markup block + builder.Add(OutputTokensAsStatementLiteral()); + if (Context.DesignTimeMode && CurrentToken != null && + (CurrentToken.Kind == SyntaxKind.LessThan || CurrentToken.Kind == SyntaxKind.Transition)) + { + PutCurrentBack(); + } + OtherParserBlock(builder); + } + else + { + // What kind of statement is this? + switch (kind) + { + case SyntaxKind.RazorCommentTransition: + AcceptMarkerTokenIfNecessary(); + builder.Add(OutputTokensAsStatementLiteral()); + var comment = ParseRazorComment(); + builder.Add(comment); + ParseStatement(builder, block); + break; + case SyntaxKind.LeftBrace: + // Verbatim Block + AcceptTokenAndMoveNext(); + ParseCodeBlock(builder, block); + break; + case SyntaxKind.Keyword: + if (!TryParseKeyword(builder, transition: null)) + { + ParseStandardStatement(builder); + } + break; + case SyntaxKind.Transition: + // Embedded Expression block + ParseEmbeddedExpression(builder); + break; + case SyntaxKind.RightBrace: + // Possible end of Code Block, just run the continuation + break; + case SyntaxKind.CSharpComment: + AcceptToken(CurrentToken); + NextToken(); + break; + default: + // Other statement + ParseStandardStatement(builder); + break; + } + } + } + + private void ParseEmbeddedExpression(in SyntaxListBuilder builder) + { + // First, verify the type of the block + Assert(SyntaxKind.Transition); + var transition = CurrentToken; + NextToken(); + + if (At(SyntaxKind.Transition)) + { + // Escaped "@" + builder.Add(OutputTokensAsStatementLiteral()); + + // Output "@" as hidden span + AcceptToken(transition); + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + builder.Add(OutputTokensAsEphemeralLiteral()); + + Assert(SyntaxKind.Transition); + AcceptTokenAndMoveNext(); + ParseStandardStatement(builder); + } + else + { + // Throw errors as necessary, but continue parsing + if (At(SyntaxKind.LeftBrace)) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_UnexpectedNestedCodeBlock( + new SourceSpan(CurrentStart, contentLength: 1 /* { */))); + } + + // @( or @foo - Nested expression, parse a child block + PutCurrentBack(); + PutBack(transition); + + // Before exiting, add a marker span if necessary + AcceptMarkerTokenIfNecessary(); + builder.Add(OutputTokensAsStatementLiteral()); + + var nestedBlock = ParseNestedBlock(); + builder.Add(nestedBlock); + } + } + + private RazorSyntaxNode ParseNestedBlock() + { + var wasNested = IsNested; + IsNested = true; + + RazorSyntaxNode nestedBlock; + using (PushSpanContextConfig()) + { + nestedBlock = ParseBlock(); + } + + InitializeContext(SpanContext); + IsNested = wasNested; + NextToken(); + + return nestedBlock; + } + + private void ParseStandardStatement(in SyntaxListBuilder builder) + { + while (!EndOfFile) + { + var bookmark = CurrentStart.AbsoluteIndex; + var read = ReadWhile(token => + token.Kind != SyntaxKind.Semicolon && + token.Kind != SyntaxKind.RazorCommentTransition && + token.Kind != SyntaxKind.Transition && + token.Kind != SyntaxKind.LeftBrace && + token.Kind != SyntaxKind.LeftParenthesis && + token.Kind != SyntaxKind.LeftBracket && + token.Kind != SyntaxKind.RightBrace); + + if (At(SyntaxKind.LeftBrace) || + At(SyntaxKind.LeftParenthesis) || + At(SyntaxKind.LeftBracket)) + { + AcceptToken(read); + if (BalanceToken(builder, BalancingModes.AllowCommentsAndTemplates | BalancingModes.BacktrackOnFailure)) + { + OptionalToken(SyntaxKind.RightBrace); + } + else + { + // Recovery + AcceptTokenUntil(SyntaxKind.LessThan, SyntaxKind.RightBrace); + return; + } + } + else if (At(SyntaxKind.Transition) && (NextIs(SyntaxKind.LessThan, SyntaxKind.Colon))) + { + AcceptToken(read); + builder.Add(OutputTokensAsStatementLiteral()); + ParseTemplate(builder); + } + else if (At(SyntaxKind.RazorCommentTransition)) + { + AcceptToken(read); + AcceptMarkerTokenIfNecessary(); + builder.Add(OutputTokensAsStatementLiteral()); + builder.Add(ParseRazorComment()); + } + else if (At(SyntaxKind.Semicolon)) + { + AcceptToken(read); + AcceptTokenAndMoveNext(); + return; + } + else if (At(SyntaxKind.RightBrace)) + { + AcceptToken(read); + return; + } + else + { + Context.Source.Position = bookmark; + NextToken(); + AcceptTokenUntil(SyntaxKind.LessThan, SyntaxKind.LeftBrace, SyntaxKind.RightBrace); + return; + } + } + } + + private void ParseTemplate(in SyntaxListBuilder builder) + { + if (Context.InTemplateContext) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_InlineMarkupBlocksCannotBeNested( + new SourceSpan(CurrentStart, contentLength: 1 /* @ */))); + } + if (SpanContext.ChunkGenerator is ExpressionChunkGenerator) + { + builder.Add(OutputTokensAsExpressionLiteral()); + } + else + { + builder.Add(OutputTokensAsStatementLiteral()); + } + + using (var pooledResult = Pool.Allocate()) + { + var templateBuilder = pooledResult.Builder; + Context.InTemplateContext = true; + PutCurrentBack(); + OtherParserBlock(templateBuilder); + + var template = SyntaxFactory.CSharpTemplateBlock(templateBuilder.ToList()); + builder.Add(template); + + Context.InTemplateContext = false; + } + } + + protected bool TryParseDirective(in SyntaxListBuilder builder, CSharpTransitionSyntax transition, string directive) + { + if (_directiveParserMap.TryGetValue(directive, out var handler)) + { + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + handler(builder, transition); + return true; + } + + return false; + } + + private void SetupDirectiveParsers(IEnumerable directiveDescriptors) + { + var allDirectives = directiveDescriptors.Concat(DefaultDirectiveDescriptors).ToList(); + + for (var i = 0; i < allDirectives.Count; i++) + { + var directiveDescriptor = allDirectives[i]; + CurrentKeywords.Add(directiveDescriptor.Directive); + MapDirectives((builder, transition) => ParseExtensibleDirective(builder, transition, directiveDescriptor), directiveDescriptor.Directive); + } + + MapDirectives(ParseTagHelperPrefixDirective, SyntaxConstants.CSharp.TagHelperPrefixKeyword); + MapDirectives(ParseAddTagHelperDirective, SyntaxConstants.CSharp.AddTagHelperKeyword); + MapDirectives(ParseRemoveTagHelperDirective, SyntaxConstants.CSharp.RemoveTagHelperKeyword); + } + + protected void MapDirectives(Action, CSharpTransitionSyntax> handler, params string[] directives) + { + foreach (var directive in directives) + { + _directiveParserMap.Add(directive, (builder, transition) => + { + handler(builder, transition); + Context.SeenDirectives.Add(directive); + }); + + Keywords.Add(directive); + + // These C# keywords are reserved for use in directives. It's an error to use them outside of + // a directive. This code removes the error generation if the directive *is* registered. + if (string.Equals(directive, "class", StringComparison.OrdinalIgnoreCase)) + { + _keywordParserMap.Remove(CSharpKeyword.Class); + } + else if (string.Equals(directive, "namespace", StringComparison.OrdinalIgnoreCase)) + { + _keywordParserMap.Remove(CSharpKeyword.Namespace); + } + } + } + + private void ParseTagHelperPrefixDirective(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + RazorDiagnostic duplicateDiagnostic = null; + if (Context.SeenDirectives.Contains(SyntaxConstants.CSharp.TagHelperPrefixKeyword)) + { + var directiveStart = CurrentStart; + if (transition != null) + { + // Start the error from the Transition '@'. + directiveStart = new SourceLocation( + directiveStart.FilePath, + directiveStart.AbsoluteIndex - 1, + directiveStart.LineIndex, + directiveStart.CharacterIndex - 1); + } + var errorLength = /* @ */ 1 + SyntaxConstants.CSharp.TagHelperPrefixKeyword.Length; + duplicateDiagnostic = RazorDiagnosticFactory.CreateParsing_DuplicateDirective( + new SourceSpan(directiveStart, errorLength), + SyntaxConstants.CSharp.TagHelperPrefixKeyword); + } + + var directiveBody = ParseTagHelperDirective( + SyntaxConstants.CSharp.TagHelperPrefixKeyword, + (prefix, errors, startLocation) => + { + if (duplicateDiagnostic != null) + { + errors.Add(duplicateDiagnostic); + } + + var parsedDirective = ParseDirective(prefix, startLocation, TagHelperDirectiveType.TagHelperPrefix, errors); + + return new TagHelperPrefixDirectiveChunkGenerator( + prefix, + parsedDirective.DirectiveText, + errors); + }); + + var directive = SyntaxFactory.RazorDirective(transition, directiveBody); + builder.Add(directive); + } + + private void ParseAddTagHelperDirective(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + var directiveBody = ParseTagHelperDirective( + SyntaxConstants.CSharp.AddTagHelperKeyword, + (lookupText, errors, startLocation) => + { + var parsedDirective = ParseDirective(lookupText, startLocation, TagHelperDirectiveType.AddTagHelper, errors); + + return new AddTagHelperChunkGenerator( + lookupText, + parsedDirective.DirectiveText, + parsedDirective.TypePattern, + parsedDirective.AssemblyName, + errors); + }); + + var directive = SyntaxFactory.RazorDirective(transition, directiveBody); + builder.Add(directive); + } + + private void ParseRemoveTagHelperDirective(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + var directiveBody = ParseTagHelperDirective( + SyntaxConstants.CSharp.RemoveTagHelperKeyword, + (lookupText, errors, startLocation) => + { + var parsedDirective = ParseDirective(lookupText, startLocation, TagHelperDirectiveType.RemoveTagHelper, errors); + + return new RemoveTagHelperChunkGenerator( + lookupText, + parsedDirective.DirectiveText, + parsedDirective.TypePattern, + parsedDirective.AssemblyName, + errors); + }); + + var directive = SyntaxFactory.RazorDirective(transition, directiveBody); + builder.Add(directive); + } + + private RazorDirectiveBodySyntax ParseTagHelperDirective( + string keyword, + Func, SourceLocation, ISpanChunkGenerator> chunkGeneratorFactory) + { + AssertDirective(keyword); + + var savedErrorSink = Context.ErrorSink; + var directiveErrorSink = new ErrorSink(); + RazorMetaCodeSyntax keywordBlock = null; + using (var pooledResult = Pool.Allocate()) + { + var directiveBuilder = pooledResult.Builder; + Context.ErrorSink = directiveErrorSink; + + string directiveValue = null; + SourceLocation? valueStartLocation = null; + try + { + EnsureDirectiveIsAtStartOfLine(); + + var keywordStartLocation = CurrentStart; + + // Accept the directive name + var keywordToken = EatCurrentToken(); + var keywordLength = keywordToken.FullWidth + 1 /* @ */; + + var foundWhitespace = At(SyntaxKind.Whitespace); + + // If we found whitespace then any content placed within the whitespace MAY cause a destructive change + // to the document. We can't accept it. + var acceptedCharacters = foundWhitespace ? AcceptedCharactersInternal.None : AcceptedCharactersInternal.AnyExceptNewline; + AcceptToken(keywordToken); + keywordBlock = OutputAsMetaCode(OutputTokens(), acceptedCharacters); + + AcceptTokenWhile(SyntaxKind.Whitespace); + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + SpanContext.EditHandler.AcceptedCharacters = acceptedCharacters; + directiveBuilder.Add(OutputTokensAsMarkupLiteral()); + + if (EndOfFile || At(SyntaxKind.NewLine)) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_DirectiveMustHaveValue( + new SourceSpan(keywordStartLocation, keywordLength), keyword)); + + directiveValue = string.Empty; + } + else + { + // Need to grab the current location before we accept until the end of the line. + valueStartLocation = CurrentStart; + + // Parse to the end of the line. Essentially accepts anything until end of line, comments, invalid code + // etc. + AcceptTokenUntil(SyntaxKind.NewLine); + + // Pull out the value and remove whitespaces and optional quotes + var rawValue = string.Concat(TokenBuilder.ToList().Nodes.Select(s => s.Content)).Trim(); + + var startsWithQuote = rawValue.StartsWith("\"", StringComparison.Ordinal); + var endsWithQuote = rawValue.EndsWith("\"", StringComparison.Ordinal); + if (startsWithQuote != endsWithQuote) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_IncompleteQuotesAroundDirective( + new SourceSpan(valueStartLocation.Value, rawValue.Length), keyword)); + } + + directiveValue = rawValue; + } + } + finally + { + SpanContext.ChunkGenerator = chunkGeneratorFactory( + directiveValue, + directiveErrorSink.Errors.ToList(), + valueStartLocation ?? CurrentStart); + Context.ErrorSink = savedErrorSink; + } + + // Finish the block and output the tokens + CompleteBlock(); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.AnyExceptNewline; + + directiveBuilder.Add(OutputTokensAsStatementLiteral()); + var directiveCodeBlock = SyntaxFactory.CSharpCodeBlock(directiveBuilder.ToList()); + + return SyntaxFactory.RazorDirectiveBody(keywordBlock, directiveCodeBlock); + } + } + + private ParsedDirective ParseDirective( + string directiveText, + SourceLocation directiveLocation, + TagHelperDirectiveType directiveType, + List errors) + { + var offset = 0; + directiveText = directiveText.Trim(); + if (directiveText.Length >= 2 && + directiveText.StartsWith("\"", StringComparison.Ordinal) && + directiveText.EndsWith("\"", StringComparison.Ordinal)) + { + directiveText = directiveText.Substring(1, directiveText.Length - 2); + if (string.IsNullOrEmpty(directiveText)) + { + offset = 1; + } + } + + // If this is the "string literal" form of a directive, we'll need to postprocess the location + // and content. + // + // Ex: @addTagHelper "*, Microsoft.AspNetCore.CoolLibrary" + // ^ ^ + // Start End + if (TokenBuilder.Count == 1 && + TokenBuilder[0] is SyntaxToken token && + token.Kind == SyntaxKind.StringLiteral) + { + offset += token.Content.IndexOf(directiveText, StringComparison.Ordinal); + + // This is safe because inside one of these directives all of the text needs to be on the + // same line. + var original = directiveLocation; + directiveLocation = new SourceLocation( + original.FilePath, + original.AbsoluteIndex + offset, + original.LineIndex, + original.CharacterIndex + offset); + } + + var parsedDirective = new ParsedDirective() + { + DirectiveText = directiveText + }; + + if (directiveType == TagHelperDirectiveType.TagHelperPrefix) + { + ValidateTagHelperPrefix(parsedDirective.DirectiveText, directiveLocation, errors); + + return parsedDirective; + } + + return ParseAddOrRemoveDirective(parsedDirective, directiveLocation, errors); + } + + private void ParseExtensibleDirective(in SyntaxListBuilder builder, CSharpTransitionSyntax transition, DirectiveDescriptor descriptor) + { + AssertDirective(descriptor.Directive); + + var directiveErrorSink = new ErrorSink(); + var savedErrorSink = Context.ErrorSink; + Context.ErrorSink = directiveErrorSink; + + using (var pooledResult = Pool.Allocate()) + { + var directiveBuilder = pooledResult.Builder; + var directiveChunkGenerator = new DirectiveChunkGenerator(descriptor); + RazorMetaCodeSyntax keywordBlock = null; + + try + { + EnsureDirectiveIsAtStartOfLine(); + var directiveStart = CurrentStart; + if (transition != null) + { + // Start the error from the Transition '@'. + directiveStart = new SourceLocation( + directiveStart.FilePath, + directiveStart.AbsoluteIndex - 1, + directiveStart.LineIndex, + directiveStart.CharacterIndex - 1); + } + + AcceptTokenAndMoveNext(); + keywordBlock = OutputAsMetaCode(OutputTokens()); + + // Even if an error was logged do not bail out early. If a directive was used incorrectly it doesn't mean it can't be parsed. + ValidateDirectiveUsage(descriptor, directiveStart); + + for (var i = 0; i < descriptor.Tokens.Count; i++) + { + if (!At(SyntaxKind.Whitespace) && + !At(SyntaxKind.NewLine) && + !EndOfFile) + { + // This case should never happen in a real scenario. We're just being defensive. + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_DirectiveTokensMustBeSeparatedByWhitespace( + new SourceSpan(CurrentStart, CurrentToken.Content.Length), descriptor.Directive)); + + builder.Add(BuildDirective()); + return; + } + + var tokenDescriptor = descriptor.Tokens[i]; + AcceptTokenWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + + if (tokenDescriptor.Kind == DirectiveTokenKind.Member || + tokenDescriptor.Kind == DirectiveTokenKind.Namespace || + tokenDescriptor.Kind == DirectiveTokenKind.Type) + { + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Whitespace; + directiveBuilder.Add(OutputTokensAsStatementLiteral()); + + if (EndOfFile || At(SyntaxKind.NewLine)) + { + // Add a marker token to provide CSharp intellisense when we start typing the directive token. + AcceptMarkerTokenIfNecessary(); + SpanContext.ChunkGenerator = new DirectiveTokenChunkGenerator(tokenDescriptor); + SpanContext.EditHandler = new DirectiveTokenEditHandler(Language.TokenizeString); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.NonWhitespace; + directiveBuilder.Add(OutputTokensAsStatementLiteral()); + } + } + else + { + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Whitespace; + directiveBuilder.Add(OutputTokensAsMarkupEphemeralLiteral()); + } + + if (tokenDescriptor.Optional && (EndOfFile || At(SyntaxKind.NewLine))) + { + break; + } + else if (EndOfFile) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_UnexpectedEOFAfterDirective( + new SourceSpan(CurrentStart, contentLength: 1), + descriptor.Directive, + tokenDescriptor.Kind.ToString().ToLowerInvariant())); + builder.Add(BuildDirective()); + return; + } + + switch (tokenDescriptor.Kind) + { + case DirectiveTokenKind.Type: + if (!TryParseNamespaceOrTypeName(directiveBuilder)) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_DirectiveExpectsTypeName( + new SourceSpan(CurrentStart, CurrentToken.Content.Length), descriptor.Directive)); + + builder.Add(BuildDirective()); + return; + } + break; + + case DirectiveTokenKind.Namespace: + if (!TryParseQualifiedIdentifier(out var identifierLength)) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_DirectiveExpectsNamespace( + new SourceSpan(CurrentStart, identifierLength), descriptor.Directive)); + + builder.Add(BuildDirective()); + return; + } + break; + + case DirectiveTokenKind.Member: + if (At(SyntaxKind.Identifier)) + { + AcceptTokenAndMoveNext(); + } + else + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_DirectiveExpectsIdentifier( + new SourceSpan(CurrentStart, CurrentToken.Content.Length), descriptor.Directive)); + builder.Add(BuildDirective()); + return; + } + break; + + case DirectiveTokenKind.String: + if (At(SyntaxKind.StringLiteral) && !CurrentToken.ContainsDiagnostics) + { + AcceptTokenAndMoveNext(); + } + else + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_DirectiveExpectsQuotedStringLiteral( + new SourceSpan(CurrentStart, CurrentToken.Content.Length), descriptor.Directive)); + builder.Add(BuildDirective()); + return; + } + break; + } + + SpanContext.ChunkGenerator = new DirectiveTokenChunkGenerator(tokenDescriptor); + SpanContext.EditHandler = new DirectiveTokenEditHandler(Language.TokenizeString); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.NonWhitespace; + directiveBuilder.Add(OutputTokensAsStatementLiteral()); + } + + AcceptTokenWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + + switch (descriptor.Kind) + { + case DirectiveKind.SingleLine: + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Whitespace; + directiveBuilder.Add(OutputTokensAsUnclassifiedLiteral()); + + OptionalToken(SyntaxKind.Semicolon); + directiveBuilder.Add(OutputAsMetaCode(OutputTokens(), AcceptedCharactersInternal.Whitespace)); + + AcceptTokenWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + + if (At(SyntaxKind.NewLine)) + { + AcceptTokenAndMoveNext(); + } + else if (!EndOfFile) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_UnexpectedDirectiveLiteral( + new SourceSpan(CurrentStart, CurrentToken.Content.Length), + descriptor.Directive, + Resources.ErrorComponent_Newline)); + } + + + // This should contain the optional whitespace after the optional semicolon and the new line. + // Output as Markup as we want intellisense here. + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Whitespace; + directiveBuilder.Add(OutputTokensAsMarkupEphemeralLiteral()); + break; + case DirectiveKind.RazorBlock: + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.AllWhitespace; + directiveBuilder.Add(OutputTokensAsMarkupLiteral()); + + ParseDirectiveBlock(directiveBuilder, descriptor, parseChildren: (childBuilder, startingBraceLocation) => + { + // When transitioning to the HTML parser we no longer want to act as if we're in a nested C# state. + // For instance, if
@hello.
is in a nested C# block we don't want the trailing '.' to be handled + // as C#; it should be handled as a period because it's wrapped in markup. + var wasNested = IsNested; + IsNested = false; + + using (PushSpanContextConfig()) + { + var razorBlock = HtmlParser.ParseRazorBlock(Tuple.Create("{", "}"), caseSensitive: true); + directiveBuilder.Add(razorBlock); + } + + InitializeContext(SpanContext); + IsNested = wasNested; + NextToken(); + }); + break; + case DirectiveKind.CodeBlock: + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.AllWhitespace; + directiveBuilder.Add(OutputTokensAsMarkupLiteral()); + + ParseDirectiveBlock(directiveBuilder, descriptor, parseChildren: (childBuilder, startingBraceLocation) => + { + NextToken(); + BalanceToken(childBuilder, BalancingModes.NoErrorOnFailure, SyntaxKind.LeftBrace, SyntaxKind.RightBrace, startingBraceLocation); + SpanContext.ChunkGenerator = new StatementChunkGenerator(); + var existingEditHandler = SpanContext.EditHandler; + SpanContext.EditHandler = new CodeBlockEditHandler(Language.TokenizeString); + + AcceptMarkerTokenIfNecessary(); + + childBuilder.Add(OutputTokensAsStatementLiteral()); + + SpanContext.EditHandler = existingEditHandler; + }); + break; + } + } + finally + { + if (directiveErrorSink.Errors.Count > 0) + { + directiveChunkGenerator.Diagnostics.AddRange(directiveErrorSink.Errors); + } + + Context.ErrorSink = savedErrorSink; + } + + builder.Add(BuildDirective()); + + RazorDirectiveSyntax BuildDirective() + { + directiveBuilder.Add(OutputTokensAsStatementLiteral()); + var directiveCodeBlock = SyntaxFactory.CSharpCodeBlock(directiveBuilder.ToList()); + + var directiveBody = SyntaxFactory.RazorDirectiveBody(keywordBlock, directiveCodeBlock); + var directive = SyntaxFactory.RazorDirective(transition, directiveBody); + directive = (RazorDirectiveSyntax)directive.SetDiagnostics(directiveErrorSink.Errors.ToArray()); + directive = directive.WithDirectiveDescriptor(descriptor); + return directive; + } + } + } + + private void ValidateDirectiveUsage(DirectiveDescriptor descriptor, SourceLocation directiveStart) + { + if (descriptor.Usage == DirectiveUsage.FileScopedSinglyOccurring) + { + if (Context.SeenDirectives.Contains(descriptor.Directive)) + { + // There will always be at least 1 child because of the `@` transition. + var errorLength = /* @ */ 1 + descriptor.Directive.Length; + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_DuplicateDirective( + new SourceSpan(directiveStart, errorLength), descriptor.Directive)); + + return; + } + } + } + + // Used for parsing a qualified name like that which follows the `namespace` keyword. + // + // qualified-identifier: + // identifier + // qualified-identifier . identifier + protected bool TryParseQualifiedIdentifier(out int identifierLength) + { + var currentIdentifierLength = 0; + var expectingDot = false; + var tokens = ReadWhile(token => + { + var type = token.Kind; + if ((expectingDot && type == SyntaxKind.Dot) || + (!expectingDot && type == SyntaxKind.Identifier)) + { + expectingDot = !expectingDot; + return true; + } + + if (type != SyntaxKind.Whitespace && + type != SyntaxKind.NewLine) + { + expectingDot = false; + currentIdentifierLength += token.Content.Length; + } + + return false; + }); + + identifierLength = currentIdentifierLength; + var validQualifiedIdentifier = expectingDot; + if (validQualifiedIdentifier) + { + foreach (var token in tokens) + { + identifierLength += token.Content.Length; + AcceptToken(token); + } + + return true; + } + else + { + PutCurrentBack(); + + foreach (var token in tokens) + { + identifierLength += token.Content.Length; + PutBack(token); + } + + EnsureCurrent(); + return false; + } + } + + private void ParseDirectiveBlock(in SyntaxListBuilder builder, DirectiveDescriptor descriptor, Action, SourceLocation> parseChildren) + { + if (EndOfFile) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_UnexpectedEOFAfterDirective( + new SourceSpan(CurrentStart, contentLength: 1 /* { */), descriptor.Directive, "{")); + } + else if (!At(SyntaxKind.LeftBrace)) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_UnexpectedDirectiveLiteral( + new SourceSpan(CurrentStart, CurrentToken.Content.Length), descriptor.Directive, "{")); + } + else + { + var editHandler = new AutoCompleteEditHandler(Language.TokenizeString, autoCompleteAtEndOfSpan: true); + SpanContext.EditHandler = editHandler; + var startingBraceLocation = CurrentStart; + AcceptToken(CurrentToken); + builder.Add(OutputAsMetaCode(OutputTokens())); + + using (var pooledResult = Pool.Allocate()) + { + var childBuilder = pooledResult.Builder; + parseChildren(childBuilder, startingBraceLocation); + if (childBuilder.Count > 0) + { + builder.Add(SyntaxFactory.CSharpCodeBlock(childBuilder.ToList())); + } + } + + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + if (!OptionalToken(SyntaxKind.RightBrace)) + { + editHandler.AutoCompleteString = "}"; + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF( + new SourceSpan(startingBraceLocation, contentLength: 1 /* } */), descriptor.Directive, "}", "{")); + + AcceptToken(SyntaxFactory.MissingToken(SyntaxKind.RightBrace)); + } + else + { + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; + } + CompleteBlock(insertMarkerIfNecessary: false, captureWhitespaceToEndOfLine: true); + builder.Add(OutputAsMetaCode(OutputTokens(), SpanContext.EditHandler.AcceptedCharacters)); + } + } + + private bool TryParseKeyword(in SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + var result = CSharpTokenizer.GetTokenKeyword(CurrentToken); + Debug.Assert(CurrentToken.Kind == SyntaxKind.Keyword && result.HasValue); + if (_keywordParserMap.TryGetValue(result.Value, out var handler)) + { + handler(builder, transition); + return true; + } + + return false; + } + + private void SetupExpressionParsers() + { + MapExpressionKeyword(ParseAwaitExpression, CSharpKeyword.Await); + } + + private void SetupKeywordParsers() + { + MapKeywords( + ParseConditionalBlock, + CSharpKeyword.For, + CSharpKeyword.Foreach, + CSharpKeyword.While, + CSharpKeyword.Switch, + CSharpKeyword.Lock); + MapKeywords(ParseCaseStatement, false, CSharpKeyword.Case, CSharpKeyword.Default); + MapKeywords(ParseIfStatement, CSharpKeyword.If); + MapKeywords(ParseTryStatement, CSharpKeyword.Try); + MapKeywords(ParseDoStatement, CSharpKeyword.Do); + MapKeywords(ParseUsingKeyword, CSharpKeyword.Using); + MapKeywords(ParseReservedDirective, CSharpKeyword.Class, CSharpKeyword.Namespace); + } + + private void MapExpressionKeyword(Action, CSharpTransitionSyntax> handler, CSharpKeyword keyword) + { + _keywordParserMap.Add(keyword, handler); + + // Expression keywords don't belong in the regular keyword list + } + + private void MapKeywords(Action, CSharpTransitionSyntax> handler, params CSharpKeyword[] keywords) + { + MapKeywords(handler, topLevel: true, keywords: keywords); + } + + private void MapKeywords(Action, CSharpTransitionSyntax> handler, bool topLevel, params CSharpKeyword[] keywords) + { + foreach (var keyword in keywords) + { + _keywordParserMap.Add(keyword, handler); + if (topLevel) + { + Keywords.Add(CSharpLanguageCharacteristics.GetKeyword(keyword)); + } + } + } + + private void ParseAwaitExpression(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + // Ensure that we're on the await statement (only runs in debug) + Assert(CSharpKeyword.Await); + + // Accept the "await" and move on + AcceptTokenAndMoveNext(); + + // Accept 1 or more spaces between the await and the following code. + AcceptTokenWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + + // Top level basically indicates if we're within an expression or statement. + // Ex: topLevel true = @await Foo() | topLevel false = @{ await Foo(); } + // Note that in this case @{ @await Foo() } top level is true for await. + // Therefore, if we're top level then we want to act like an implicit expression, + // otherwise just act as whatever we're contained in. + var topLevel = transition != null; + if (topLevel) + { + // Setup the Span to be an async implicit expression (an implicit expresison that allows spaces). + // Spaces are allowed because of "@await Foo()". + var implicitExpressionBody = ParseImplicitExpressionBody(async: true); + builder.Add(SyntaxFactory.CSharpImplicitExpression(transition, implicitExpressionBody)); + } + } + + private void ParseConditionalBlock(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + var topLevel = transition != null; + ParseConditionalBlock(builder, transition, topLevel); + } + + private void ParseConditionalBlock(in SyntaxListBuilder builder, CSharpTransitionSyntax transition, bool topLevel) + { + Assert(SyntaxKind.Keyword); + if (transition != null) + { + builder.Add(transition); + } + + var block = new Block(CurrentToken, CurrentStart); + ParseConditionalBlock(builder, block); + if (topLevel) + { + CompleteBlock(); + } + } + + private void ParseConditionalBlock(in SyntaxListBuilder builder, Block block) + { + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + + // Parse the condition, if present (if not present, we'll let the C# compiler complain) + if (TryParseCondition(builder)) + { + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + + ParseExpectedCodeBlock(builder, block); + } + } + + private bool TryParseCondition(in SyntaxListBuilder builder) + { + if (At(SyntaxKind.LeftParenthesis)) + { + var complete = BalanceToken(builder, BalancingModes.BacktrackOnFailure | BalancingModes.AllowCommentsAndTemplates); + if (!complete) + { + AcceptTokenUntil(SyntaxKind.NewLine); + } + else + { + OptionalToken(SyntaxKind.RightParenthesis); + } + return complete; + } + return true; + } + + private void ParseExpectedCodeBlock(in SyntaxListBuilder builder, Block block) + { + if (!EndOfFile) + { + // Check for "{" to make sure we're at a block + if (!At(SyntaxKind.LeftBrace)) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_SingleLineControlFlowStatementsNotAllowed( + new SourceSpan(CurrentStart, CurrentToken.Content.Length), + Language.GetSample(SyntaxKind.LeftBrace), + CurrentToken.Content)); + } + + // Parse the statement and then we're done + ParseStatement(builder, block); + } + } + + private void ParseUnconditionalBlock(in SyntaxListBuilder builder) + { + Assert(SyntaxKind.Keyword); + var block = new Block(CurrentToken, CurrentStart); + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + ParseExpectedCodeBlock(builder, block); + } + + private void ParseCaseStatement(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + Assert(SyntaxKind.Keyword); + if (transition != null) + { + // Normally, case statement won't start with a transition in a valid scenario. + // If it does, just accept it and let the compiler complain. + builder.Add(transition); + } + var result = CSharpTokenizer.GetTokenKeyword(CurrentToken); + Debug.Assert(result.HasValue && + (result.Value == CSharpKeyword.Case || + result.Value == CSharpKeyword.Default)); + AcceptTokenUntil(SyntaxKind.Colon); + OptionalToken(SyntaxKind.Colon); + } + + private void ParseIfStatement(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + Assert(CSharpKeyword.If); + ParseConditionalBlock(builder, transition, topLevel: false); + ParseAfterIfClause(builder); + var topLevel = transition != null; + if (topLevel) + { + CompleteBlock(); + } + } + + private void ParseAfterIfClause(SyntaxListBuilder builder) + { + // Grab whitespace and razor comments + var whitespace = SkipToNextImportantToken(builder); + + // Check for an else part + if (At(CSharpKeyword.Else)) + { + AcceptToken(whitespace); + Assert(CSharpKeyword.Else); + ParseElseClause(builder); + } + else + { + // No else, return whitespace + PutCurrentBack(); + PutBack(whitespace); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Any; + } + } + + private void ParseElseClause(in SyntaxListBuilder builder) + { + if (!At(CSharpKeyword.Else)) + { + return; + } + var block = new Block(CurrentToken, CurrentStart); + + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + if (At(CSharpKeyword.If)) + { + // ElseIf + block.Name = SyntaxConstants.CSharp.ElseIfKeyword; + ParseConditionalBlock(builder, block); + ParseAfterIfClause(builder); + } + else if (!EndOfFile) + { + // Else + ParseExpectedCodeBlock(builder, block); + } + } + + private void ParseTryStatement(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + Assert(CSharpKeyword.Try); + var topLevel = transition != null; + if (topLevel) + { + builder.Add(transition); + } + + ParseUnconditionalBlock(builder); + ParseAfterTryClause(builder); + if (topLevel) + { + CompleteBlock(); + } + } + + private void ParseAfterTryClause(in SyntaxListBuilder builder) + { + // Grab whitespace + var whitespace = SkipToNextImportantToken(builder); + + // Check for a catch or finally part + if (At(CSharpKeyword.Catch)) + { + AcceptToken(whitespace); + Assert(CSharpKeyword.Catch); + ParseFilterableCatchBlock(builder); + ParseAfterTryClause(builder); + } + else if (At(CSharpKeyword.Finally)) + { + AcceptToken(whitespace); + Assert(CSharpKeyword.Finally); + ParseUnconditionalBlock(builder); + } + else + { + // Return whitespace and end the block + PutCurrentBack(); + PutBack(whitespace); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Any; + } + } + + private void ParseFilterableCatchBlock(in SyntaxListBuilder builder) + { + Assert(CSharpKeyword.Catch); + + var block = new Block(CurrentToken, CurrentStart); + + // Accept "catch" + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsValidStatementSpacingToken); + + // Parse the catch condition if present. If not present, let the C# compiler complain. + if (TryParseCondition(builder)) + { + AcceptTokenWhile(IsValidStatementSpacingToken); + + if (At(CSharpKeyword.When)) + { + // Accept "when". + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsValidStatementSpacingToken); + + // Parse the filter condition if present. If not present, let the C# compiler complain. + if (!TryParseCondition(builder)) + { + // Incomplete condition. + return; + } + + AcceptTokenWhile(IsValidStatementSpacingToken); + } + + ParseExpectedCodeBlock(builder, block); + } + } + + private void ParseDoStatement(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + Assert(CSharpKeyword.Do); + if (transition != null) + { + builder.Add(transition); + } + + ParseUnconditionalBlock(builder); + ParseWhileClause(builder); + var topLevel = transition != null; + if (topLevel) + { + CompleteBlock(); + } + } + + private void ParseWhileClause(in SyntaxListBuilder builder) + { + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Any; + var whitespace = SkipToNextImportantToken(builder); + + if (At(CSharpKeyword.While)) + { + AcceptToken(whitespace); + Assert(CSharpKeyword.While); + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + if (TryParseCondition(builder) && OptionalToken(SyntaxKind.Semicolon)) + { + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; + } + } + else + { + PutCurrentBack(); + PutBack(whitespace); + } + } + + private void ParseUsingKeyword(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + Assert(CSharpKeyword.Using); + var topLevel = transition != null; + var block = new Block(CurrentToken, CurrentStart); + var usingToken = EatCurrentToken(); + var whitespaceOrComments = ReadWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + var atLeftParen = At(SyntaxKind.LeftParenthesis); + var atIdentifier = At(SyntaxKind.Identifier); + var atStatic = At(CSharpKeyword.Static); + + // Put the read tokens back and let them be handled later. + PutCurrentBack(); + PutBack(whitespaceOrComments); + PutBack(usingToken); + EnsureCurrent(); + + if (atLeftParen) + { + // using ( ==> Using Statement + ParseUsingStatement(builder, transition, block); + } + else if (atIdentifier || atStatic) + { + // using Identifier ==> Using Declaration + if (!topLevel) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_NamespaceImportAndTypeAliasCannotExistWithinCodeBlock( + new SourceSpan(block.Start, block.Name.Length))); + if (transition != null) + { + builder.Add(transition); + } + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + ParseStandardStatement(builder); + } + else + { + ParseUsingDeclaration(builder, transition); + return; + } + } + else + { + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + } + + if (topLevel) + { + CompleteBlock(); + } + } + + private void ParseUsingStatement(in SyntaxListBuilder builder, CSharpTransitionSyntax transition, Block block) + { + Assert(CSharpKeyword.Using); + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + + Assert(SyntaxKind.LeftParenthesis); + if (transition != null) + { + builder.Add(transition); + } + + // Parse condition + if (TryParseCondition(builder)) + { + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + + // Parse code block + ParseExpectedCodeBlock(builder, block); + } + } + + private void ParseUsingDeclaration(in SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + // Using declarations should always be top level. The error case is handled in a different code path. + Debug.Assert(transition != null); + using (var pooledResult = Pool.Allocate()) + { + var directiveBuilder = pooledResult.Builder; + Assert(CSharpKeyword.Using); + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + var start = CurrentStart; + if (At(SyntaxKind.Identifier)) + { + // non-static using + TryParseNamespaceOrTypeName(directiveBuilder); + var whitespace = ReadWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + if (At(SyntaxKind.Assign)) + { + // Alias + AcceptToken(whitespace); + Assert(SyntaxKind.Assign); + AcceptTokenAndMoveNext(); + + AcceptTokenWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + + // One more namespace or type name + TryParseNamespaceOrTypeName(directiveBuilder); + } + else + { + PutCurrentBack(); + PutBack(whitespace); + } + } + else if (At(CSharpKeyword.Static)) + { + // static using + AcceptTokenAndMoveNext(); + AcceptTokenWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); + TryParseNamespaceOrTypeName(directiveBuilder); + } + + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.AnyExceptNewline; + SpanContext.ChunkGenerator = new AddImportChunkGenerator(new LocationTagged( + string.Concat(TokenBuilder.ToList().Nodes.Skip(1).Select(s => s.Content)), + start)); + + // Optional ";" + if (EnsureCurrent()) + { + OptionalToken(SyntaxKind.Semicolon); + } + + CompleteBlock(); + Debug.Assert(directiveBuilder.Count == 0, "We should not have built any blocks so far."); + var keywordTokens = OutputTokensAsStatementLiteral(); + var directiveBody = SyntaxFactory.RazorDirectiveBody(keywordTokens, null); + builder.Add(SyntaxFactory.RazorDirective(transition, directiveBody)); + } + } + + private bool TryParseNamespaceOrTypeName(in SyntaxListBuilder builder) + { + if (OptionalToken(SyntaxKind.LeftParenthesis)) + { + while (!OptionalToken(SyntaxKind.RightParenthesis) && !EndOfFile) + { + OptionalToken(SyntaxKind.Whitespace); + + if (!TryParseNamespaceOrTypeName(builder)) + { + return false; + } + + OptionalToken(SyntaxKind.Whitespace); + OptionalToken(SyntaxKind.Identifier); + OptionalToken(SyntaxKind.Whitespace); + OptionalToken(SyntaxKind.Comma); + } + + if (At(SyntaxKind.Whitespace) && NextIs(SyntaxKind.QuestionMark)) + { + // Only accept the whitespace if we are going to consume the next token. + AcceptTokenAndMoveNext(); + } + + OptionalToken(SyntaxKind.QuestionMark); // Nullable + + return true; + } + else if (OptionalToken(SyntaxKind.Identifier) || OptionalToken(SyntaxKind.Keyword)) + { + if (OptionalToken(SyntaxKind.DoubleColon)) + { + if (!OptionalToken(SyntaxKind.Identifier)) + { + OptionalToken(SyntaxKind.Keyword); + } + } + if (At(SyntaxKind.LessThan)) + { + ParseTypeArgumentList(builder); + } + if (OptionalToken(SyntaxKind.Dot)) + { + TryParseNamespaceOrTypeName(builder); + } + + if (At(SyntaxKind.Whitespace) && NextIs(SyntaxKind.QuestionMark)) + { + // Only accept the whitespace if we are going to consume the next token. + AcceptTokenAndMoveNext(); + } + + OptionalToken(SyntaxKind.QuestionMark); // Nullable + + if (At(SyntaxKind.Whitespace) && NextIs(SyntaxKind.LeftBracket)) + { + // Only accept the whitespace if we are going to consume the next token. + AcceptTokenAndMoveNext(); + } + + while (At(SyntaxKind.LeftBracket)) + { + BalanceToken(builder, BalancingModes.None); + if (!OptionalToken(SyntaxKind.RightBracket)) + { + AcceptToken(SyntaxFactory.MissingToken(SyntaxKind.RightBracket)); + } + } + return true; + } + else + { + return false; + } + } + + private void ParseTypeArgumentList(in SyntaxListBuilder builder) + { + Assert(SyntaxKind.LessThan); + BalanceToken(builder, BalancingModes.None); + if (!OptionalToken(SyntaxKind.GreaterThan)) + { + AcceptToken(SyntaxFactory.MissingToken(SyntaxKind.GreaterThan)); + } + } + + private void ParseReservedDirective(SyntaxListBuilder builder, CSharpTransitionSyntax transition) + { + Context.ErrorSink.OnError( + RazorDiagnosticFactory.CreateParsing_ReservedWord( + new SourceSpan(CurrentStart, CurrentToken.Content.Length), CurrentToken.Content)); + + AcceptTokenAndMoveNext(); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + CompleteBlock(); + var keyword = OutputAsMetaCode(OutputTokens()); + var directiveBody = SyntaxFactory.RazorDirectiveBody(keyword, cSharpCode: null); + var directive = SyntaxFactory.RazorDirective(transition, directiveBody); + builder.Add(directive); + } + + protected void CompleteBlock() + { + CompleteBlock(insertMarkerIfNecessary: true); + } + + protected void CompleteBlock(bool insertMarkerIfNecessary) + { + CompleteBlock(insertMarkerIfNecessary, captureWhitespaceToEndOfLine: insertMarkerIfNecessary); + } + + protected void CompleteBlock(bool insertMarkerIfNecessary, bool captureWhitespaceToEndOfLine) + { + if (insertMarkerIfNecessary && Context.LastAcceptedCharacters != AcceptedCharactersInternal.Any) + { + AcceptMarkerTokenIfNecessary(); + } + + EnsureCurrent(); + + // Read whitespace, but not newlines + // If we're not inserting a marker span, we don't need to capture whitespace + if (!Context.WhiteSpaceIsSignificantToAncestorBlock && + captureWhitespaceToEndOfLine && + !Context.DesignTimeMode && + !IsNested) + { + CaptureWhitespaceAtEndOfCodeOnlyLine(); + } + else + { + PutCurrentBack(); + } + } + + private IEnumerable SkipToNextImportantToken(in SyntaxListBuilder builder) + { + while (!EndOfFile) + { + var whitespace = ReadWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); + if (At(SyntaxKind.RazorCommentTransition)) + { + AcceptToken(whitespace); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Any; + AcceptMarkerTokenIfNecessary(); + builder.Add(OutputTokensAsStatementLiteral()); + var comment = ParseRazorComment(); + builder.Add(comment); + } + else + { + return whitespace; + } + } + return Enumerable.Empty(); + } + + private void CaptureWhitespaceAtEndOfCodeOnlyLine() + { + var whitespace = ReadWhile(token => token.Kind == SyntaxKind.Whitespace); + if (At(SyntaxKind.NewLine)) + { + AcceptToken(whitespace); + AcceptTokenAndMoveNext(); + PutCurrentBack(); + } + else + { + PutCurrentBack(); + PutBack(whitespace); + } + } + + protected override bool IsAtEmbeddedTransition(bool allowTemplatesAndComments, bool allowTransitions) + { + // No embedded transitions in C#, so ignore that param + return allowTemplatesAndComments + && ((Language.IsTransition(CurrentToken) + && NextIs(SyntaxKind.LessThan, SyntaxKind.Colon, SyntaxKind.DoubleColon)) + || Language.IsCommentStart(CurrentToken)); + } + + protected override void ParseEmbeddedTransition(in SyntaxListBuilder builder) + { + if (Language.IsTransition(CurrentToken)) + { + PutCurrentBack(); + ParseTemplate(builder); + } + else if (Language.IsCommentStart(CurrentToken)) + { + // Output tokens before parsing the comment. + AcceptMarkerTokenIfNecessary(); + if (SpanContext.ChunkGenerator is ExpressionChunkGenerator) + { + builder.Add(OutputTokensAsExpressionLiteral()); + } + else + { + builder.Add(OutputTokensAsStatementLiteral()); + } + + var comment = ParseRazorComment(); + builder.Add(comment); + } + } + + private void DefaultSpanContextConfig(SpanContextBuilder spanContext) + { + spanContext.EditHandler = SpanEditHandler.CreateDefault(Language.TokenizeString); + spanContext.ChunkGenerator = new StatementChunkGenerator(); + } + + private void ExplicitExpressionSpanContextConfig(SpanContextBuilder spanContext) + { + spanContext.EditHandler = SpanEditHandler.CreateDefault(Language.TokenizeString); + spanContext.ChunkGenerator = new ExpressionChunkGenerator(); + } + + private CSharpStatementLiteralSyntax OutputTokensAsStatementLiteral() + { + var tokens = OutputTokens(); + if (tokens.Count == 0) + { + return null; + } + + return GetNodeWithSpanContext(SyntaxFactory.CSharpStatementLiteral(tokens)); + } + + private CSharpExpressionLiteralSyntax OutputTokensAsExpressionLiteral() + { + var tokens = OutputTokens(); + if (tokens.Count == 0) + { + return null; + } + + return GetNodeWithSpanContext(SyntaxFactory.CSharpExpressionLiteral(tokens)); + } + + private CSharpEphemeralTextLiteralSyntax OutputTokensAsEphemeralLiteral() + { + var tokens = OutputTokens(); + if (tokens.Count == 0) + { + return null; + } + + return GetNodeWithSpanContext(SyntaxFactory.CSharpEphemeralTextLiteral(tokens)); + } + + private UnclassifiedTextLiteralSyntax OutputTokensAsUnclassifiedLiteral() + { + var tokens = OutputTokens(); + if (tokens.Count == 0) + { + return null; + } + + + return GetNodeWithSpanContext(SyntaxFactory.UnclassifiedTextLiteral(tokens)); + } + + private void OtherParserBlock(in SyntaxListBuilder builder) + { + // When transitioning to the HTML parser we no longer want to act as if we're in a nested C# state. + // For instance, if
@hello.
is in a nested C# block we don't want the trailing '.' to be handled + // as C#; it should be handled as a period because it's wrapped in markup. + var wasNested = IsNested; + IsNested = false; + + RazorSyntaxNode htmlBlock = null; + using (PushSpanContextConfig()) + { + htmlBlock = HtmlParser.ParseBlock(); + } + + builder.Add(htmlBlock); + InitializeContext(SpanContext); + + IsNested = wasNested; + NextToken(); + } + } +} diff --git a/src/Microsoft.AspNetCore.Razor.Language/Legacy/CSharpTokenizer.cs b/src/Microsoft.AspNetCore.Razor.Language/Legacy/CSharpTokenizer.cs index 8d29ab0fe..21cd0dc00 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Legacy/CSharpTokenizer.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Legacy/CSharpTokenizer.cs @@ -458,7 +458,7 @@ private SyntaxKind Operator() { return handler(); } - return SyntaxKind.Unknown; + return SyntaxKind.Marker; } private SyntaxKind LessThanOperator() diff --git a/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlLanguageCharacteristics.cs b/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlLanguageCharacteristics.cs index c404183ed..5efd2b80a 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlLanguageCharacteristics.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlLanguageCharacteristics.cs @@ -86,13 +86,13 @@ public override SyntaxKind FlipBracket(SyntaxKind bracket) return SyntaxKind.OpenAngle; default: Debug.Fail("FlipBracket must be called with a bracket character"); - return SyntaxKind.Unknown; + return SyntaxKind.Marker; } } public override SyntaxToken CreateMarkerToken() { - return SyntaxFactory.Token(SyntaxKind.Unknown, string.Empty); + return SyntaxFactory.Token(SyntaxKind.Marker, string.Empty); } public override SyntaxKind GetKnownTokenType(KnownTokenType type) @@ -113,10 +113,10 @@ public override SyntaxKind GetKnownTokenType(KnownTokenType type) return SyntaxKind.NewLine; case KnownTokenType.Transition: return SyntaxKind.Transition; - case KnownTokenType.WhiteSpace: + case KnownTokenType.Whitespace: return SyntaxKind.Whitespace; default: - return SyntaxKind.Unknown; + return SyntaxKind.Marker; } } diff --git a/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlMarkupParser.cs b/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlMarkupParser.cs index efc0d2759..4e325e41d 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlMarkupParser.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlMarkupParser.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { - internal class HtmlMarkupParser : TokenizerBackedParser + internal partial class HtmlMarkupParser : TokenizerBackedParser { private const string ScriptTagName = "script"; @@ -54,7 +54,7 @@ public HtmlMarkupParser(ParserContext context) { } - public ParserBase CodeParser { get; set; } + public CSharpCodeParser CodeParser { get; set; } public ISet VoidElements { @@ -234,7 +234,7 @@ private void OtherParserBlock() using (PushSpanConfig()) { - CodeParser.ParseBlock(); + CodeParser.ParseBlock1(); } Span.Start = CurrentLocation; @@ -275,7 +275,7 @@ private void OptionalBangEscape() } } - public override void ParseBlock() + public override void ParseBlock1() { if (Context == null) { @@ -418,6 +418,11 @@ private void TagBlock(Stack> tags) Accept(_bufferedOpenAngle); EndTagBlock(tags, complete: false); } + else if (atSpecialTag && At(SyntaxKind.Bang)) + { + Accept(_bufferedOpenAngle); + complete = BangTag(); + } else { complete = AfterTagStart(tagStart, tags, atSpecialTag, tagBlockWrapper); @@ -460,7 +465,7 @@ private bool AfterTagStart(SourceLocation tagStart, case SyntaxKind.ForwardSlash: // End Tag return EndTag(tagStart, tags, tagBlockWrapper); - case SyntaxKind.Bang: + case SyntaxKind.Bang: // Dead code. This case will never be hit. // Comment, CDATA, DOCTYPE, or a parser-escaped HTML tag. if (atSpecialTag) { @@ -516,7 +521,7 @@ private bool BangTag() while (!EndOfFile) { SkipToAndParseCode(SyntaxKind.DoubleHyphen); - var lastDoubleHyphen = AcceptAllButLastDoubleHyphens(); + var lastDoubleHyphen = AcceptAllButLastDoubleHyphens1(); if (At(SyntaxKind.CloseAngle)) { @@ -553,7 +558,7 @@ private bool BangTag() return false; } - protected SyntaxToken AcceptAllButLastDoubleHyphens() + protected SyntaxToken AcceptAllButLastDoubleHyphens1() { var lastDoubleHyphen = CurrentToken; AcceptWhile(s => @@ -732,7 +737,7 @@ private bool EndTag(SourceLocation tagStart, tagName = CurrentToken.Content; } - var matched = RemoveTag(tags, tagName, tagStart); + var matched = RemoveTag1(tags, tagName, tagStart); if (tags.Count == 0 && // Note tagName may contain a '!' escape character. This ensures doesn't match here. @@ -754,7 +759,7 @@ private bool EndTag(SourceLocation tagStart, } } - private void RecoverTextTag() + private void RecoverTextTag1() { // We don't want to skip-to and parse because there shouldn't be anything in the body of text tags. AcceptUntil(SyntaxKind.CloseAngle, SyntaxKind.NewLine); @@ -781,7 +786,7 @@ private bool EndTextTag(SyntaxToken solidus, IDisposable tagBlockWrapper) new SourceSpan(textLocation, contentLength: 4 /* text */))); Span.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Any; - RecoverTextTag(); + RecoverTextTag1(); } else { @@ -833,14 +838,14 @@ private void TagContent() else { // We are here ($): - while (!EndOfFile && !IsEndOfTag()) + while (!EndOfFile && !IsEndOfTag1()) { BeforeAttribute(); } } } - private bool IsEndOfTag() + private bool IsEndOfTag1() { if (At(SyntaxKind.ForwardSlash)) { @@ -951,7 +956,7 @@ private void AttributePrefix( AcceptAndMoveNext(); var whitespaceAfterEquals = ReadWhile(token => token.Kind == SyntaxKind.Whitespace || token.Kind == SyntaxKind.NewLine); - var quote = SyntaxKind.Unknown; + var quote = SyntaxKind.Marker; if (At(SyntaxKind.SingleQuote) || At(SyntaxKind.DoubleQuote)) { // Found a quote, the whitespace belongs to this attribute. @@ -976,7 +981,7 @@ private void AttributePrefix( // Read the attribute value only if the value is quoted // or if there is no whitespace between '=' and the unquoted value. - if (quote != SyntaxKind.Unknown || !whitespaceAfterEquals.Any()) + if (quote != SyntaxKind.Marker || !whitespaceAfterEquals.Any()) { // Read the attribute value. while (!EndOfFile && !IsEndOfAttributeValue(quote, CurrentToken)) @@ -987,7 +992,7 @@ private void AttributePrefix( // Capture the suffix var suffix = new LocationTagged(string.Empty, CurrentStart); - if (quote != SyntaxKind.Unknown && At(quote)) + if (quote != SyntaxKind.Marker && At(quote)) { suffix = new LocationTagged(CurrentToken.Content, CurrentStart); AcceptAndMoveNext(); @@ -1009,7 +1014,7 @@ private void AttributePrefix( // Output the attribute name, the equals and optional quote. Ex: foo=" Output(SpanKindInternal.Markup); - if (quote == SyntaxKind.Unknown && whitespaceAfterEquals.Any()) + if (quote == SyntaxKind.Marker && whitespaceAfterEquals.Any()) { return; } @@ -1020,7 +1025,7 @@ private void AttributePrefix( // Output the attribute value (will include everything in-between the attribute's quotes). Output(SpanKindInternal.Markup); - if (quote != SyntaxKind.Unknown) + if (quote != SyntaxKind.Marker) { Optional(quote); } @@ -1102,7 +1107,7 @@ private void AttributeValue(SyntaxKind quote) private bool IsEndOfAttributeValue(SyntaxKind quote, SyntaxToken token) { return EndOfFile || token == null || - (quote != SyntaxKind.Unknown + (quote != SyntaxKind.Marker ? token.Kind == quote // If quoted, just wait for the quote : IsUnquotedEndOfAttributeValue(token)); } @@ -1189,7 +1194,7 @@ private bool StartTag(Stack> tags, IDisposabl if (potentialTagNameToken == null || potentialTagNameToken.Kind != SyntaxKind.Text) { - tagName = SyntaxFactory.Token(SyntaxKind.Unknown, string.Empty); + tagName = SyntaxFactory.Token(SyntaxKind.Marker, string.Empty); } else if (bangToken != null) { @@ -1236,7 +1241,7 @@ private bool StartTag(Stack> tags, IDisposabl RazorDiagnosticFactory.CreateParsing_TextTagCannotContainAttributes( new SourceSpan(textLocation, contentLength: 4 /* text */))); - RecoverTextTag(); + RecoverTextTag1(); } else { @@ -1353,7 +1358,7 @@ private bool RestOfTag(Tuple tag, } else if (string.Equals(tagName, ScriptTagName, StringComparison.OrdinalIgnoreCase)) { - if (!CurrentScriptTagExpectsHtml()) + if (!CurrentScriptTagExpectsHtml1()) { CompleteTagBlockWithSpan(tagBlockWrapper, AcceptedCharactersInternal.None, SpanKindInternal.Markup); @@ -1465,7 +1470,7 @@ private bool AcceptUntilAll(params SyntaxKind[] endSequence) return false; } - private bool RemoveTag(Stack> tags, string tagName, SourceLocation tagStart) + private bool RemoveTag1(Stack> tags, string tagName, SourceLocation tagStart) { Tuple currentTag = null; while (tags.Count > 0) @@ -1580,10 +1585,10 @@ internal static bool IsValidAttributeNameToken(SyntaxToken token) tokenType != SyntaxKind.DoubleQuote && tokenType != SyntaxKind.SingleQuote && tokenType != SyntaxKind.Equals && - tokenType != SyntaxKind.Unknown; + tokenType != SyntaxKind.Marker; } - public void ParseDocument() + public void ParseDocument1() { if (Context == null) { @@ -1645,7 +1650,7 @@ private void ScanTagInDocumentContext() if (ParserState == ParserState.Content) { - Output(SpanKindInternal.Markup, SyntaxKind.HtmlTextLiteral); + Output(SpanKindInternal.Markup, SyntaxKind.MarkupTextLiteral); } else { @@ -1674,7 +1679,7 @@ private void ScanTagInDocumentContext() // If the script tag expects javascript content then we should do minimal parsing until we reach // the end script tag. Don't want to incorrectly parse a "var tag = '';" as an HTML tag. - if (scriptTag && !CurrentScriptTagExpectsHtml()) + if (scriptTag && !CurrentScriptTagExpectsHtml1()) { Output(SpanKindInternal.Markup); tagBlock.Dispose(); @@ -1705,7 +1710,7 @@ private void ScanTagInDocumentContext() } } - private bool CurrentScriptTagExpectsHtml() + private bool CurrentScriptTagExpectsHtml1() { var blockBuilder = Context.Builder.CurrentBlock; @@ -1753,7 +1758,7 @@ private static bool IsTypeAttribute(Block block) return false; } - public void ParseRazorBlock(Tuple nestingSequences, bool caseSensitive) + public void ParseRazorBlock1(Tuple nestingSequences, bool caseSensitive) { if (Context == null) { @@ -1786,9 +1791,9 @@ private void NonNestingSection(string[] nestingSequenceComponents) { do { - SkipToAndParseCode(token => token.Kind == SyntaxKind.OpenAngle || AtEnd(nestingSequenceComponents)); + SkipToAndParseCode(token => token.Kind == SyntaxKind.OpenAngle || AtEnd1(nestingSequenceComponents)); ScanTagInDocumentContext(); - if (!EndOfFile && AtEnd(nestingSequenceComponents)) + if (!EndOfFile && AtEnd1(nestingSequenceComponents)) { break; } @@ -1825,7 +1830,7 @@ private void NestingSection(Tuple nestingSequences) } } - private bool AtEnd(string[] nestingSequenceComponents) + private bool AtEnd1(string[] nestingSequenceComponents) { EnsureCurrent(); if (string.Equals(CurrentToken.Content, nestingSequenceComponents[0], Comparison)) diff --git a/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlParser.cs b/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlParser.cs new file mode 100644 index 000000000..72306a76d --- /dev/null +++ b/src/Microsoft.AspNetCore.Razor.Language/Legacy/HtmlParser.cs @@ -0,0 +1,1765 @@ +// 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.Diagnostics; +using System.Linq; +using Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax; + +namespace Microsoft.AspNetCore.Razor.Language.Legacy +{ + internal partial class HtmlMarkupParser + { + public RazorDocumentSyntax ParseDocument() + { + if (Context == null) + { + throw new InvalidOperationException(Resources.Parser_Context_Not_Set); + } + + using (var pooledResult = Pool.Allocate()) + using (PushSpanContextConfig(DefaultMarkupSpanContext)) + { + var builder = pooledResult.Builder; + NextToken(); + while (!EndOfFile) + { + SkipToAndParseCode(builder, SyntaxKind.OpenAngle); + ParseTagInDocumentContext(builder); + } + AcceptMarkerTokenIfNecessary(); + builder.Add(OutputTokensAsMarkupLiteral()); + + var markup = SyntaxFactory.MarkupBlock(builder.ToList()); + + return SyntaxFactory.RazorDocument(markup); + } + } + + private void SkipToAndParseCode(in SyntaxListBuilder builder, SyntaxKind type) + { + SkipToAndParseCode(builder, token => token.Kind == type); + } + + private void SkipToAndParseCode(in SyntaxListBuilder builder, Func condition) + { + SyntaxToken last = null; + var startOfLine = false; + while (!EndOfFile && !condition(CurrentToken)) + { + if (Context.NullGenerateWhitespaceAndNewLine) + { + Context.NullGenerateWhitespaceAndNewLine = false; + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + AcceptTokenWhile(token => token.Kind == SyntaxKind.Whitespace); + if (At(SyntaxKind.NewLine)) + { + AcceptTokenAndMoveNext(); + } + + builder.Add(OutputTokensAsMarkupEphemeralLiteral()); + } + else if (At(SyntaxKind.NewLine)) + { + if (last != null) + { + AcceptToken(last); + } + + // Mark the start of a new line + startOfLine = true; + last = null; + AcceptTokenAndMoveNext(); + } + else if (At(SyntaxKind.Transition)) + { + var transition = CurrentToken; + NextToken(); + if (At(SyntaxKind.Transition)) + { + if (last != null) + { + AcceptToken(last); + last = null; + } + builder.Add(OutputTokensAsMarkupLiteral()); + AcceptToken(transition); + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + builder.Add(OutputTokensAsMarkupEphemeralLiteral()); + AcceptTokenAndMoveNext(); + continue; // while + } + else + { + if (!EndOfFile) + { + PutCurrentBack(); + } + PutBack(transition); + } + + // Handle whitespace rewriting + if (last != null) + { + if (!Context.DesignTimeMode && last.Kind == SyntaxKind.Whitespace && startOfLine) + { + // Put the whitespace back too + startOfLine = false; + PutBack(last); + last = null; + } + else + { + // Accept last + AcceptToken(last); + last = null; + } + } + + OtherParserBlock(builder); + } + else if (At(SyntaxKind.RazorCommentTransition)) + { + var shouldRenderWhitespace = true; + if (last != null) + { + // Don't render the whitespace between the start of the line and the razor comment. + if (startOfLine && last.Kind == SyntaxKind.Whitespace) + { + AcceptMarkerTokenIfNecessary(); + // Output the tokens that may have been accepted prior to the whitespace. + builder.Add(OutputTokensAsMarkupLiteral()); + + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + shouldRenderWhitespace = false; + } + + AcceptToken(last); + last = null; + } + + AcceptMarkerTokenIfNecessary(); + if (shouldRenderWhitespace) + { + builder.Add(OutputTokensAsMarkupLiteral()); + } + else + { + builder.Add(OutputTokensAsMarkupEphemeralLiteral()); + } + + var comment = ParseRazorComment(); + builder.Add(comment); + + // Handle the whitespace and newline at the end of a razor comment. + if (startOfLine && + (At(SyntaxKind.NewLine) || + (At(SyntaxKind.Whitespace) && NextIs(SyntaxKind.NewLine)))) + { + AcceptTokenWhile(IsSpacingToken(includeNewLines: false)); + AcceptTokenAndMoveNext(); + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + builder.Add(OutputTokensAsMarkupEphemeralLiteral()); + } + } + else + { + // As long as we see whitespace, we're still at the "start" of the line + startOfLine &= At(SyntaxKind.Whitespace); + + // If there's a last token, accept it + if (last != null) + { + AcceptToken(last); + last = null; + } + + // Advance + last = CurrentToken; + NextToken(); + } + } + + if (last != null) + { + AcceptToken(last); + } + } + + /// + /// Reads the content of a tag (if present) in the MarkupDocument (or MarkupSection) context, + /// where we don't care about maintaining a stack of tags. + /// + private void ParseTagInDocumentContext(in SyntaxListBuilder builder) + { + if (At(SyntaxKind.OpenAngle)) + { + if (NextIs(SyntaxKind.Bang)) + { + // Checking to see if we meet the conditions of a special '!' tag: ()) + { + var tagBuilder = pooledResult.Builder; + AcceptTokenAndMoveNext(); // Accept '<' + + if (!At(SyntaxKind.ForwardSlash)) + { + ParseOptionalBangEscape(tagBuilder); + + // Parsing a start tag + var scriptTag = At(SyntaxKind.Text) && + string.Equals(CurrentToken.Content, "script", StringComparison.OrdinalIgnoreCase); + OptionalToken(SyntaxKind.Text); + ParseTagContent(tagBuilder); // Parse the tag, don't care about the content + OptionalToken(SyntaxKind.ForwardSlash); + OptionalToken(SyntaxKind.CloseAngle); + + // If the script tag expects javascript content then we should do minimal parsing until we reach + // the end script tag. Don't want to incorrectly parse a "var tag = '';" as an HTML tag. + if (scriptTag && !CurrentScriptTagExpectsHtml(tagBuilder)) + { + tagBuilder.Add(OutputTokensAsMarkupLiteral()); + var block = SyntaxFactory.MarkupTagBlock(tagBuilder.ToList()); + builder.Add(block); + + SkipToEndScriptAndParseCode(builder); + return; + } + } + else + { + // Parsing an end tag + // This section can accept things like: '

' or '

' etc. + ParserState = ParserState.EndTag; + OptionalToken(SyntaxKind.ForwardSlash); + + // Whitespace here is invalid (according to the spec) + ParseOptionalBangEscape(tagBuilder); + OptionalToken(SyntaxKind.Text); + OptionalToken(SyntaxKind.Whitespace); + OptionalToken(SyntaxKind.CloseAngle); + ParserState = ParserState.Content; + } + + tagBuilder.Add(OutputTokensAsMarkupLiteral()); + + // End tag block + var tagBlock = SyntaxFactory.MarkupTagBlock(tagBuilder.ToList()); + builder.Add(tagBlock); + } + } + } + + private void ParseTagContent(in SyntaxListBuilder builder) + { + if (!At(SyntaxKind.Whitespace) && !At(SyntaxKind.NewLine)) + { + // We should be right after the tag name, so if there's no whitespace or new line, something is wrong + RecoverToEndOfTag(builder); + } + else + { + // We are here ($): + while (!EndOfFile && !IsEndOfTag()) + { + BeforeAttribute(builder); + } + } + } + + private bool IsEndOfTag() + { + if (At(SyntaxKind.ForwardSlash)) + { + if (NextIs(SyntaxKind.CloseAngle)) + { + return true; + } + else + { + AcceptTokenAndMoveNext(); + } + } + return At(SyntaxKind.CloseAngle) || At(SyntaxKind.OpenAngle); + } + + private void BeforeAttribute(in SyntaxListBuilder builder) + { + // http://dev.w3.org/html5/spec/tokenization.html#before-attribute-name-state + // Capture whitespace + var whitespace = ReadWhile(token => token.Kind == SyntaxKind.Whitespace || token.Kind == SyntaxKind.NewLine); + + if (At(SyntaxKind.Transition) || At(SyntaxKind.RazorCommentTransition)) + { + // Transition outside of attribute value => Switch to recovery mode + AcceptToken(whitespace); + RecoverToEndOfTag(builder); + return; + } + + // http://dev.w3.org/html5/spec/tokenization.html#attribute-name-state + // Read the 'name' (i.e. read until the '=' or whitespace/newline) + var nameTokens = Enumerable.Empty(); + var whitespaceAfterAttributeName = Enumerable.Empty(); + if (IsValidAttributeNameToken(CurrentToken)) + { + nameTokens = ReadWhile(token => + token.Kind != SyntaxKind.Whitespace && + token.Kind != SyntaxKind.NewLine && + token.Kind != SyntaxKind.Equals && + token.Kind != SyntaxKind.CloseAngle && + token.Kind != SyntaxKind.OpenAngle && + (token.Kind != SyntaxKind.ForwardSlash || !NextIs(SyntaxKind.CloseAngle))); + + // capture whitespace after attribute name (if any) + whitespaceAfterAttributeName = ReadWhile( + token => token.Kind == SyntaxKind.Whitespace || token.Kind == SyntaxKind.NewLine); + } + else + { + // Unexpected character in tag, enter recovery + AcceptToken(whitespace); + RecoverToEndOfTag(builder); + return; + } + + if (!At(SyntaxKind.Equals)) + { + // Minimized attribute + + // We are at the prefix of the next attribute or the end of tag. Put it back so it is parsed later. + PutCurrentBack(); + PutBack(whitespaceAfterAttributeName); + + // Output anything prior to the attribute, in most cases this will be the tag name: + // |. If in-between other attributes this will noop or output malformed attribute + // content (if the previous attribute was malformed). + builder.Add(OutputTokensAsMarkupLiteral()); + + AcceptToken(whitespace); + var namePrefix = OutputTokensAsMarkupLiteral(); + AcceptToken(nameTokens); + var name = OutputTokensAsMarkupLiteral(); + + var minimizedAttributeBlock = SyntaxFactory.MarkupMinimizedAttributeBlock(namePrefix, name); + builder.Add(minimizedAttributeBlock); + + return; + } + + // Not a minimized attribute, parse as if it were well-formed (if attribute turns out to be malformed we + // will go into recovery). + builder.Add(OutputTokensAsMarkupLiteral()); + + var attributeBlock = ParseAttributePrefix(whitespace, nameTokens, whitespaceAfterAttributeName); + + builder.Add(attributeBlock); + } + + private MarkupAttributeBlockSyntax ParseAttributePrefix( + IEnumerable whitespace, + IEnumerable nameTokens, + IEnumerable whitespaceAfterAttributeName) + { + // First, determine if this is a 'data-' attribute (since those can't use conditional attributes) + var nameContent = string.Concat(nameTokens.Select(s => s.Content)); + var attributeCanBeConditional = + Context.FeatureFlags.EXPERIMENTAL_AllowConditionalDataDashAttributes || + !nameContent.StartsWith("data-", StringComparison.OrdinalIgnoreCase); + + // Accept the whitespace and name + AcceptToken(whitespace); + var namePrefix = OutputTokensAsMarkupLiteral(); + AcceptToken(nameTokens); + var name = OutputTokensAsMarkupLiteral(); + + // Since this is not a minimized attribute, the whitespace after attribute name belongs to this attribute. + AcceptToken(whitespaceAfterAttributeName); + var nameSuffix = OutputTokensAsMarkupLiteral(); + Assert(SyntaxKind.Equals); // We should be at "=" + var equalsToken = EatCurrentToken(); + + var whitespaceAfterEquals = ReadWhile(token => token.Kind == SyntaxKind.Whitespace || token.Kind == SyntaxKind.NewLine); + var quote = SyntaxKind.Marker; + if (At(SyntaxKind.SingleQuote) || At(SyntaxKind.DoubleQuote)) + { + // Found a quote, the whitespace belongs to this attribute. + AcceptToken(whitespaceAfterEquals); + quote = CurrentToken.Kind; + AcceptTokenAndMoveNext(); + } + else if (whitespaceAfterEquals.Any()) + { + // No quotes found after the whitespace. Put it back so that it can be parsed later. + PutCurrentBack(); + PutBack(whitespaceAfterEquals); + } + + MarkupTextLiteralSyntax valuePrefix = null; + RazorBlockSyntax attributeValue = null; + MarkupTextLiteralSyntax valueSuffix = null; + + if (attributeCanBeConditional) + { + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; // The block chunk generator will render the prefix + + // We now have the value prefix which is usually whitespace and/or a quote + valuePrefix = OutputTokensAsMarkupLiteral(); + + // Read the attribute value only if the value is quoted + // or if there is no whitespace between '=' and the unquoted value. + if (quote != SyntaxKind.Marker || !whitespaceAfterEquals.Any()) + { + using (var pooledResult = Pool.Allocate()) + { + var attributeValueBuilder = pooledResult.Builder; + // Read the attribute value. + while (!EndOfFile && !IsEndOfAttributeValue(quote, CurrentToken)) + { + ParseAttributeValue(attributeValueBuilder, quote); + } + + if (attributeValueBuilder.Count > 0) + { + attributeValue = SyntaxFactory.GenericBlock(attributeValueBuilder.ToList()); + } + } + } + + // Capture the suffix + if (quote != SyntaxKind.Marker && At(quote)) + { + AcceptTokenAndMoveNext(); + // Again, block chunk generator will render the suffix + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + valueSuffix = OutputTokensAsMarkupLiteral(); + } + } + else if (quote != SyntaxKind.Marker || !whitespaceAfterEquals.Any()) + { + valuePrefix = OutputTokensAsMarkupLiteral(); + + using (var pooledResult = Pool.Allocate()) + { + var attributeValueBuilder = pooledResult.Builder; + // Not a "conditional" attribute, so just read the value + SkipToAndParseCode(attributeValueBuilder, token => IsEndOfAttributeValue(quote, token)); + + // Output already accepted tokens if any as markup literal + var literalValue = OutputTokensAsMarkupLiteral(); + attributeValueBuilder.Add(literalValue); + + // Capture the attribute value (will include everything in-between the attribute's quotes). + attributeValue = SyntaxFactory.GenericBlock(attributeValueBuilder.ToList()); + } + + if (quote != SyntaxKind.Marker) + { + OptionalToken(quote); + valueSuffix = OutputTokensAsMarkupLiteral(); + } + } + else + { + // There is no quote and there is whitespace after equals. There is no attribute value. + } + + return SyntaxFactory.MarkupAttributeBlock(namePrefix, name, nameSuffix, equalsToken, valuePrefix, attributeValue, valueSuffix); + } + + private void ParseAttributeValue(in SyntaxListBuilder builder, SyntaxKind quote) + { + var prefixStart = CurrentStart; + var prefixTokens = ReadWhile(token => token.Kind == SyntaxKind.Whitespace || token.Kind == SyntaxKind.NewLine); + + if (At(SyntaxKind.Transition)) + { + if (NextIs(SyntaxKind.Transition)) + { + // Wrapping this in a block so that the ConditionalAttributeCollapser doesn't rewrite it. + using (var pooledResult = Pool.Allocate()) + { + var markupBuilder = pooledResult.Builder; + AcceptToken(prefixTokens); + + // Render a single "@" in place of "@@". + SpanContext.ChunkGenerator = new LiteralAttributeChunkGenerator( + new LocationTagged(string.Concat(prefixTokens.Select(s => s.Content)), prefixStart), + new LocationTagged(CurrentToken.Content, CurrentStart)); + AcceptTokenAndMoveNext(); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; + markupBuilder.Add(OutputTokensAsMarkupLiteral()); + + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + AcceptTokenAndMoveNext(); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; + markupBuilder.Add(OutputTokensAsMarkupEphemeralLiteral()); + + var markupBlock = SyntaxFactory.MarkupBlock(markupBuilder.ToList()); + builder.Add(markupBlock); + } + } + else + { + AcceptToken(prefixTokens); + var valueStart = CurrentStart; + PutCurrentBack(); + + var prefix = OutputTokensAsMarkupLiteral(); + + // Dynamic value, start a new block and set the chunk generator + using (var pooledResult = Pool.Allocate()) + { + var dynamicAttributeValueBuilder = pooledResult.Builder; + + OtherParserBlock(dynamicAttributeValueBuilder); + var value = SyntaxFactory.MarkupDynamicAttributeValue(prefix, SyntaxFactory.GenericBlock(dynamicAttributeValueBuilder.ToList())); + builder.Add(value); + } + } + } + else + { + AcceptToken(prefixTokens); + var prefix = OutputTokensAsMarkupLiteral(); + + // Literal value + // 'quote' should be "Unknown" if not quoted and tokens coming from the tokenizer should never have + // "Unknown" type. + var valueTokens = ReadWhile(token => + // These three conditions find separators which break the attribute value into portions + token.Kind != SyntaxKind.Whitespace && + token.Kind != SyntaxKind.NewLine && + token.Kind != SyntaxKind.Transition && + // This condition checks for the end of the attribute value (it repeats some of the checks above + // but for now that's ok) + !IsEndOfAttributeValue(quote, token)); + AcceptToken(valueTokens); + var value = OutputTokensAsMarkupLiteral(); + + var literalAttributeValue = SyntaxFactory.MarkupLiteralAttributeValue(prefix, value); + builder.Add(literalAttributeValue); + } + } + + private void RecoverToEndOfTag(in SyntaxListBuilder builder) + { + // Accept until ">", "/" or "<", but parse code + while (!EndOfFile) + { + SkipToAndParseCode(builder, IsTagRecoveryStopPoint); + if (!EndOfFile) + { + EnsureCurrent(); + switch (CurrentToken.Kind) + { + case SyntaxKind.SingleQuote: + case SyntaxKind.DoubleQuote: + ParseQuoted(builder); + break; + case SyntaxKind.OpenAngle: + // Another "<" means this tag is invalid. + case SyntaxKind.ForwardSlash: + // Empty tag + case SyntaxKind.CloseAngle: + // End of tag + return; + default: + AcceptTokenAndMoveNext(); + break; + } + } + } + } + + private void ParseQuoted(in SyntaxListBuilder builder) + { + var type = CurrentToken.Kind; + AcceptTokenAndMoveNext(); + ParseQuoted(builder, type); + } + + private void ParseQuoted(in SyntaxListBuilder builder, SyntaxKind type) + { + SkipToAndParseCode(builder, type); + if (!EndOfFile) + { + Assert(type); + AcceptTokenAndMoveNext(); + } + } + + private bool ParseBangTag(in SyntaxListBuilder builder) + { + // Accept "!" + Assert(SyntaxKind.Bang); + + if (AcceptTokenAndMoveNext()) + { + if (IsHtmlCommentAhead()) + { + using (var pooledResult = Pool.Allocate()) + { + var htmlCommentBuilder = pooledResult.Builder; + + // Accept the double-hyphen token at the beginning of the comment block. + AcceptTokenAndMoveNext(); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; + htmlCommentBuilder.Add(OutputTokensAsMarkupLiteral()); + + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Whitespace; + while (!EndOfFile) + { + SkipToAndParseCode(htmlCommentBuilder, SyntaxKind.DoubleHyphen); + var lastDoubleHyphen = AcceptAllButLastDoubleHyphens(); + + if (At(SyntaxKind.CloseAngle)) + { + // Output the content in the comment block as a separate markup + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.Whitespace; + htmlCommentBuilder.Add(OutputTokensAsMarkupLiteral()); + + // This is the end of a comment block + AcceptToken(lastDoubleHyphen); + AcceptTokenAndMoveNext(); + SpanContext.EditHandler.AcceptedCharacters = AcceptedCharactersInternal.None; + htmlCommentBuilder.Add(OutputTokensAsMarkupLiteral()); + var commentBlock = SyntaxFactory.MarkupCommentBlock(htmlCommentBuilder.ToList()); + builder.Add(commentBlock); + return true; + } + else if (lastDoubleHyphen != null) + { + AcceptToken(lastDoubleHyphen); + } + } + } + } + else if (CurrentToken.Kind == SyntaxKind.LeftBracket) + { + if (AcceptTokenAndMoveNext()) + { + return TryParseCData(builder); + } + } + else + { + AcceptTokenAndMoveNext(); + return AcceptTokenUntilAll(builder, SyntaxKind.CloseAngle); + } + } + + return false; + } + + private bool TryParseCData(in SyntaxListBuilder builder) + { + if (CurrentToken.Kind == SyntaxKind.Text && string.Equals(CurrentToken.Content, "cdata", StringComparison.OrdinalIgnoreCase)) + { + if (AcceptTokenAndMoveNext()) + { + if (CurrentToken.Kind == SyntaxKind.LeftBracket) + { + return AcceptTokenUntilAll(builder, SyntaxKind.RightBracket, SyntaxKind.RightBracket, SyntaxKind.CloseAngle); + } + } + } + + return false; + } + + private bool TryParseXmlPI(in SyntaxListBuilder builder) + { + // Accept "?" + Assert(SyntaxKind.QuestionMark); + AcceptTokenAndMoveNext(); + return AcceptTokenUntilAll(builder, SyntaxKind.QuestionMark, SyntaxKind.CloseAngle); + } + + private void ParseOptionalBangEscape(in SyntaxListBuilder builder) + { + if (IsBangEscape(lookahead: 0)) + { + builder.Add(OutputTokensAsMarkupLiteral()); + + // Accept the parser escape character '!'. + Assert(SyntaxKind.Bang); + AcceptTokenAndMoveNext(); + + // Setup the metacode span that we will be outputing. + SpanContext.ChunkGenerator = SpanChunkGenerator.Null; + builder.Add(OutputAsMetaCode(OutputTokens())); + } + } + + private void SkipToEndScriptAndParseCode(in SyntaxListBuilder builder, AcceptedCharactersInternal endTagAcceptedCharacters = AcceptedCharactersInternal.Any) + { + // Special case for ] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..36)::36 - [] + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [27..36)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/OnlyTerminatesCommentOnFullEndSequence.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/OnlyTerminatesCommentOnFullEndSequence.stree.txt index 22d402b96..965a65db7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/OnlyTerminatesCommentOnFullEndSequence.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/OnlyTerminatesCommentOnFullEndSequence.stree.txt @@ -1,18 +1,18 @@ -Markup block - Gen - 20 - (0:0,0) - HtmlComment block - Gen - 20 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (17:0,17) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..20)::20 - [] + MarkupCommentBlock - [0..20)::20 + MarkupTextLiteral - [0..4)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesSGMLDeclarationAsEmptyTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesSGMLDeclarationAsEmptyTag.stree.txt index b3b77f162..228dacf05 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesSGMLDeclarationAsEmptyTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesSGMLDeclarationAsEmptyTag.stree.txt @@ -1,23 +1,23 @@ -Markup block - Gen - 33 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:10 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Bang;[!]; - SyntaxKind.Text;[DOCTYPE]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (27:0,27) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..33)::33 - [] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..27)::22 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Bang;[!]; + Text;[DOCTYPE]; + Whitespace;[ ]; + Text;[foo]; + Whitespace;[ ]; + Text;[bar]; + Whitespace;[ ]; + Text;[baz]; + CloseAngle;[>]; + MarkupTagBlock - [27..33)::6 - [] + MarkupTextLiteral - [27..33)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesUntilMatchingEndTagIfFirstNonWhitespaceCharacterIsStartTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesUntilMatchingEndTagIfFirstNonWhitespaceCharacterIsStartTag.stree.txt index 42f0bb5e2..89954be67 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesUntilMatchingEndTagIfFirstNonWhitespaceCharacterIsStartTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesUntilMatchingEndTagIfFirstNonWhitespaceCharacterIsStartTag.stree.txt @@ -1,34 +1,34 @@ -Markup block - Gen - 33 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[baz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (5:0,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[boz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (10:0,10) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[biz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[biz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (21:0,21) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[boz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (27:0,27) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[baz]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..33)::33 - [] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[baz]; + CloseAngle;[>]; + MarkupTagBlock - [5..10)::5 - [] + MarkupTextLiteral - [5..10)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[boz]; + CloseAngle;[>]; + MarkupTagBlock - [10..15)::5 - [] + MarkupTextLiteral - [10..15)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[biz]; + CloseAngle;[>]; + MarkupTagBlock - [15..21)::6 - [] + MarkupTextLiteral - [15..21)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[biz]; + CloseAngle;[>]; + MarkupTagBlock - [21..27)::6 - [] + MarkupTextLiteral - [21..27)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[boz]; + CloseAngle;[>]; + MarkupTagBlock - [27..33)::6 - [] + MarkupTextLiteral - [27..33)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[baz]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesXMLProcessingInstructionAsEmptyTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesXMLProcessingInstructionAsEmptyTag.stree.txt index e8ab55b89..b416a6b86 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesXMLProcessingInstructionAsEmptyTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ParsesXMLProcessingInstructionAsEmptyTag.stree.txt @@ -1,24 +1,24 @@ -Markup block - Gen - 30 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:11 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.Text;[xml]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (24:0,24) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..30)::30 - [] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..24)::19 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + QuestionMark;[?]; + Text;[xml]; + Whitespace;[ ]; + Text;[foo]; + Whitespace;[ ]; + Text;[bar]; + Whitespace;[ ]; + Text;[baz]; + QuestionMark;[?]; + CloseAngle;[>]; + MarkupTagBlock - [24..30)::6 - [] + MarkupTextLiteral - [24..30)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ProperlyBalancesCommentStartAndEndTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ProperlyBalancesCommentStartAndEndTags.stree.txt index b302b41ea..9a7e05221 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ProperlyBalancesCommentStartAndEndTags.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ProperlyBalancesCommentStartAndEndTags.stree.txt @@ -1,17 +1,17 @@ -Markup block - Gen - 18 - (0:0,0) - HtmlComment block - Gen - 18 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..18)::18 - [] + MarkupCommentBlock - [0..18)::18 + MarkupTextLiteral - [0..4)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ReadsToEndOfLineIfFirstCharacterAfterTransitionIsColon.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ReadsToEndOfLineIfFirstCharacterAfterTransitionIsColon.stree.txt index 7ec39929e..1c7838e43 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ReadsToEndOfLineIfFirstCharacterAfterTransitionIsColon.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/ReadsToEndOfLineIfFirstCharacterAfterTransitionIsColon.stree.txt @@ -1,15 +1,15 @@ -Markup block - Gen - 19 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [:] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:1 - SyntaxKind.Colon;[:]; - Markup span - Gen - [
  • Foo Bar BazLF] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:9 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.Text;[Foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Bar]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Baz]; - SyntaxKind.NewLine;[LF]; +MarkupBlock - [0..19)::19 - [@:
  • Foo Bar BazLF] + MarkupTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:Any + Colon;[:]; + MarkupTextLiteral - [2..19)::17 - [
  • Foo Bar BazLF] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[li]; + CloseAngle;[>]; + Text;[Foo]; + Whitespace;[ ]; + Text;[Bar]; + Whitespace;[ ]; + Text;[Baz]; + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/RendersLiteralTextTagIfDoubled.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/RendersLiteralTextTagIfDoubled.stree.txt index d67192745..ef9daab3a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/RendersLiteralTextTagIfDoubled.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/RendersLiteralTextTagIfDoubled.stree.txt @@ -1,36 +1,36 @@ -Markup block - Gen - 43 - (0:0,0) - Tag block - Gen - 6 - (0:0,0) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (6:0,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo Bar ] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:4 - SyntaxKind.Text;[Foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Bar]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (20:0,20) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ Baz] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Baz]; - Tag block - Gen - 7 - (29:0,29) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (29:0,29) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (36:0,36) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (36:0,36) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..43)::43 - [Foo Bar Baz] + MarkupTagBlock - [0..6)::6 - [] + MarkupTransition - [0..6)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTagBlock - [6..12)::6 - [] + MarkupTextLiteral - [6..12)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [12..20)::8 - [Foo Bar ] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + Whitespace;[ ]; + Text;[Bar]; + Whitespace;[ ]; + MarkupTagBlock - [20..25)::5 - [] + MarkupTextLiteral - [20..25)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [25..29)::4 - [ Baz] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[Baz]; + MarkupTagBlock - [29..36)::7 - [] + MarkupTextLiteral - [29..36)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + MarkupTagBlock - [36..43)::7 - [] + MarkupTransition - [36..43)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsAtMatchingCloseTagToStartTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsAtMatchingCloseTagToStartTag.stree.txt index b89cf18f9..d70b799bf 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsAtMatchingCloseTagToStartTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsAtMatchingCloseTagToStartTag.stree.txt @@ -1,23 +1,23 @@ -Markup block - Gen - 14 - (0:0,0) - Tag block - Gen - 3 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[a]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 3 - (3:0,3) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[b]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 4 - (6:0,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[b]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 4 - (10:0,10) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[a]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..14)::14 - [] + MarkupTagBlock - [0..3)::3 - [] + MarkupTextLiteral - [0..3)::3 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[a]; + CloseAngle;[>]; + MarkupTagBlock - [3..6)::3 - [] + MarkupTextLiteral - [3..6)::3 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[b]; + CloseAngle;[>]; + MarkupTagBlock - [6..10)::4 - [] + MarkupTextLiteral - [6..10)::4 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[b]; + CloseAngle;[>]; + MarkupTagBlock - [10..14)::4 - [] + MarkupTextLiteral - [10..14)::4 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[a]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsParsingMidEmptyTagIfEOFReached.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsParsingMidEmptyTagIfEOFReached.stree.txt index c2064cbe7..6eb28acbc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsParsingMidEmptyTagIfEOFReached.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsParsingMidEmptyTagIfEOFReached.stree.txt @@ -1,6 +1,6 @@ -Markup block - Gen - 4 - (0:0,0) - Tag block - Gen - 4 - (0:0,0) - Markup span - Gen - [
    - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + ForwardSlash;[/]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsParsingSingleLineBlockAtEOFIfNoEOLReached.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsParsingSingleLineBlockAtEOFIfNoEOLReached.stree.txt index 3f3c688a0..aeba50839 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsParsingSingleLineBlockAtEOFIfNoEOLReached.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/StopsParsingSingleLineBlockAtEOFIfNoEOLReached.stree.txt @@ -1,9 +1,9 @@ -Markup block - Gen - 9 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [:] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:1 - SyntaxKind.Colon;[:]; - Markup span - Gen - [foo bar] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:3 - SyntaxKind.Text;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; +MarkupBlock - [0..9)::9 - [@:foo bar] + MarkupTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:Any + Colon;[:]; + MarkupTextLiteral - [2..9)::7 - [foo bar] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + Whitespace;[ ]; + Text;[bar]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentAsBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentAsBlock.stree.txt index 9e2f6045d..d503ae4cc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentAsBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentAsBlock.stree.txt @@ -1,13 +1,13 @@ -Markup block - Gen - 12 - (0:0,0) - HtmlComment block - Gen - 12 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..12)::12 - [] + MarkupCommentBlock - [0..12)::12 + MarkupTextLiteral - [0..4)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentWithExtraDashAsBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentWithExtraDashAsBlock.stree.txt index 1e7fcc43a..05979ffa7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentWithExtraDashAsBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentWithExtraDashAsBlock.stree.txt @@ -1,14 +1,14 @@ -Markup block - Gen - 13 - (0:0,0) - HtmlComment block - Gen - 13 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..13)::13 - [] + MarkupCommentBlock - [0..13)::13 + MarkupTextLiteral - [0..4)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentWithinBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentWithinBlock.stree.txt index 464f70dd0..0fb89ab28 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentWithinBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsCommentWithinBlock.stree.txt @@ -1,28 +1,28 @@ -Markup block - Gen - 30 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [bar] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:1 - SyntaxKind.Text;[bar]; - HtmlComment block - Gen - 13 - (8:0,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (18:0,18) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [baz] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:1 - SyntaxKind.Text;[baz]; - Tag block - Gen - 6 - (24:0,24) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..30)::30 - [barbaz] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..8)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + MarkupCommentBlock - [8..21)::13 + MarkupTextLiteral - [8..12)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTextLiteral - [21..24)::3 - [baz] - Gen - SpanEditHandler;Accepts:None + Text;[baz]; + MarkupTagBlock - [24..30)::6 - [] + MarkupTextLiteral - [24..30)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsScriptTagsWithLessThanSignsInThem.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsScriptTagsWithLessThanSignsInThem.stree.txt index bc3722e35..5e513098e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsScriptTagsWithLessThanSignsInThem.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsScriptTagsWithLessThanSignsInThem.stree.txt @@ -1,24 +1,24 @@ -Markup block - Gen - 45 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (36:0,36) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..45)::45 - [] + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [36..45)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsScriptTagsWithSpacedLessThanSignsInThem.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsScriptTagsWithSpacedLessThanSignsInThem.stree.txt index 0435cc4ef..dfec73907 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsScriptTagsWithSpacedLessThanSignsInThem.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsScriptTagsWithSpacedLessThanSignsInThem.stree.txt @@ -1,26 +1,26 @@ -Markup block - Gen - 47 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (38:0,38) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..47)::47 - [] + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [38..47)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsTagsWithAttributes.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsTagsWithAttributes.stree.txt index e7bcdaaaa..3331b9547 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsTagsWithAttributes.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/SupportsTagsWithAttributes.stree.txt @@ -1,48 +1,55 @@ -Markup block - Gen - 48 - (0:0,0) - Tag block - Gen - 15 - (0:0,0) - Markup span - Gen - [ - 10 - (4:0,4) - Markup span - Gen - [ bar="] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [baz] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:1 - SyntaxKind.Text;[baz]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (14:0,14) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[biz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 16 - (20:0,20) - Markup span - Gen - [ - 10 - (24:0,24) - Markup span - Gen - [ zoop=] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[zoop]; - SyntaxKind.Equals;[=]; - Markup span - Gen - [zork] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:1 - SyntaxKind.Text;[zork]; - Markup span - Gen - [/>] - SpanEditHandler;Accepts:None - (34:0,34) - Tokens:2 - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (36:0,36) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (36:0,36) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[biz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (42:0,42) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (42:0,42) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..48)::48 - [] + MarkupTagBlock - [0..15)::15 - [] + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + MarkupAttributeBlock - [4..14)::10 - [ bar="baz"] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..8)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [baz] + MarkupTextLiteral - [10..13)::3 - [baz] - Gen - SpanEditHandler;Accepts:Any + Text;[baz]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagBlock - [15..20)::5 - [] + MarkupTextLiteral - [15..20)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[biz]; + CloseAngle;[>]; + MarkupTagBlock - [20..36)::16 - [] + MarkupTextLiteral - [20..24)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[boz]; + MarkupAttributeBlock - [24..34)::10 - [ zoop=zork] + MarkupTextLiteral - [24..25)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [25..29)::4 - [zoop] - Gen - SpanEditHandler;Accepts:Any + Text;[zoop]; + Equals;[=]; + GenericBlock - [30..34)::4 + MarkupLiteralAttributeValue - [30..34)::4 - [zork] + MarkupTextLiteral - [30..34)::4 - [zork] - Gen - SpanEditHandler;Accepts:Any + Text;[zork]; + MarkupTextLiteral - [34..36)::2 - [/>] - Gen - SpanEditHandler;Accepts:None + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagBlock - [36..42)::6 - [] + MarkupTextLiteral - [36..42)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[biz]; + CloseAngle;[>]; + MarkupTagBlock - [42..48)::6 - [] + MarkupTextLiteral - [42..48)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TagWithoutCloseAngleDoesNotTerminateBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TagWithoutCloseAngleDoesNotTerminateBlock.stree.txt index f8dc74898..cc9623a3d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TagWithoutCloseAngleDoesNotTerminateBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TagWithoutCloseAngleDoesNotTerminateBlock.stree.txt @@ -1,7 +1,7 @@ -Markup block - Gen - 28 - (0:0,0) - Tag block - Gen - 28 - (0:0,0) - Markup span - Gen - [< LF ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Whitespace;[ ]; +MarkupBlock - [0..28)::28 - [< LF ] + MarkupTagBlock - [0..28)::28 - [< LF ] + MarkupTextLiteral - [0..28)::28 - [< LF ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Whitespace;[ ]; + NewLine;[LF]; + Whitespace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesAtEOF.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesAtEOF.stree.txt index a4bd0fbd1..6e363fb26 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesAtEOF.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesAtEOF.stree.txt @@ -1,6 +1,6 @@ -Markup block - Gen - 5 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..5)::5 - [] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesAtEOFWhenParsingComment.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesAtEOFWhenParsingComment.stree.txt index ba8a70b4c..cf1cb3ed7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesAtEOFWhenParsingComment.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesAtEOFWhenParsingComment.stree.txt @@ -1,8 +1,8 @@ -Markup block - Gen - 9 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (19:0,19) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [-->] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (25:0,25) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..31)::31 - [-->] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupCommentBlock - [5..22)::17 + MarkupTextLiteral - [5..9)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTextLiteral - [22..25)::3 - [-->] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTagBlock - [25..31)::6 - [] + MarkupTextLiteral - [25..31)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesSGMLDeclarationAtFirstCloseAngle.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesSGMLDeclarationAtFirstCloseAngle.stree.txt index c779f841b..372a19319 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesSGMLDeclarationAtFirstCloseAngle.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesSGMLDeclarationAtFirstCloseAngle.stree.txt @@ -1,25 +1,25 @@ -Markup block - Gen - 34 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:8 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Bang;[!]; - SyntaxKind.Text;[DOCTYPE]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ baz>] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (28:0,28) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (28:0,28) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..34)::34 - [ baz>] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..23)::18 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Bang;[!]; + Text;[DOCTYPE]; + Whitespace;[ ]; + Text;[foo]; + Whitespace;[ ]; + Text;[bar]; + CloseAngle;[>]; + MarkupTextLiteral - [23..28)::5 - [ baz>] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[baz]; + CloseAngle;[>]; + MarkupTagBlock - [28..34)::6 - [] + MarkupTextLiteral - [28..34)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesXMLProcessingInstructionAtQuestionMarkCloseAnglePair.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesXMLProcessingInstructionAtQuestionMarkCloseAnglePair.stree.txt index 50bc77683..caf96df47 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesXMLProcessingInstructionAtQuestionMarkCloseAnglePair.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TerminatesXMLProcessingInstructionAtQuestionMarkCloseAnglePair.stree.txt @@ -1,27 +1,27 @@ -Markup block - Gen - 34 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:11 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.Text;[xml]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ baz] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; - Tag block - Gen - 6 - (28:0,28) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (28:0,28) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..34)::34 - [ baz] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..24)::19 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + QuestionMark;[?]; + Text;[xml]; + Whitespace;[ ]; + Text;[foo]; + Whitespace;[ ]; + Text;[bar]; + Whitespace;[ ]; + Text;[baz]; + QuestionMark;[?]; + CloseAngle;[>]; + MarkupTextLiteral - [24..28)::4 - [ baz] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[baz]; + MarkupTagBlock - [28..34)::6 - [] + MarkupTextLiteral - [28..34)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TreatsMalformedTagsAsContent.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TreatsMalformedTagsAsContent.stree.txt index 786946036..3ec892f4b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TreatsMalformedTagsAsContent.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/TreatsMalformedTagsAsContent.stree.txt @@ -1,17 +1,17 @@ -Markup block - Gen - 18 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 13 - (5:0,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:9 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Bang;[!]; - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..18)::18 - [] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTagBlock - [5..18)::13 - [] + MarkupTextLiteral - [5..18)::13 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Bang;[!]; + DoubleHyphen;[--]; + Whitespace;[ ]; + Text;[bar]; + Whitespace;[ ]; + DoubleHyphen;[--]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/WithSelfClosingTagJustEmitsTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/WithSelfClosingTagJustEmitsTag.stree.txt index a29dbc5d2..1e2015375 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/WithSelfClosingTagJustEmitsTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlBlockTest/WithSelfClosingTagJustEmitsTag.stree.txt @@ -1,8 +1,8 @@ -Markup block - Gen - 7 - (0:0,0) - Tag block - Gen - 7 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..7)::7 - [] + MarkupTagBlock - [0..7)::7 - [] + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/AcceptsEndTagWithNoMatchingStartTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/AcceptsEndTagWithNoMatchingStartTag.stree.txt index 0279f883d..eb62248d2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/AcceptsEndTagWithNoMatchingStartTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/AcceptsEndTagWithNoMatchingStartTag.stree.txt @@ -1,13 +1,14 @@ -Markup block - Gen - 14 - (0:0,0) - Markup span - Gen - [Foo ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:2 - SyntaxKind.Text;[Foo]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 6 - (4:0,4) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ Bar] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Bar]; +RazorDocument - [0..14)::14 - [Foo Bar] + MarkupBlock - [0..14)::14 + MarkupTextLiteral - [0..4)::4 - [Foo ] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + Whitespace;[ ]; + MarkupTagBlock - [4..10)::6 - [] + MarkupTextLiteral - [4..10)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [10..14)::4 - [ Bar] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[Bar]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/AcceptsSwapTokenAtEndOfFileAndOutputsZeroLengthCodeSpan.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/AcceptsSwapTokenAtEndOfFileAndOutputsZeroLengthCodeSpan.stree.txt index 111e681d8..1b3a186cb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/AcceptsSwapTokenAtEndOfFileAndOutputsZeroLengthCodeSpan.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/AcceptsSwapTokenAtEndOfFileAndOutputsZeroLengthCodeSpan.stree.txt @@ -1,10 +1,14 @@ -Markup block - Gen - 1 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Expression block - Gen - 1 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (1:0,1) - Tokens:1 - SyntaxKind.Unknown;[]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..1)::1 - [@] + MarkupBlock - [0..1)::1 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..1)::1 + CSharpImplicitExpression - [0..1)::1 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [1..1)::0 + CSharpCodeBlock - [1..1)::0 + CSharpExpressionLiteral - [1..1)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Marker;[]; + MarkupTextLiteral - [1..1)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/CorrectlyHandlesOddlySpacedHTMLElements.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/CorrectlyHandlesOddlySpacedHTMLElements.stree.txt index 9e676d2db..62726a289 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/CorrectlyHandlesOddlySpacedHTMLElements.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/CorrectlyHandlesOddlySpacedHTMLElements.stree.txt @@ -1,43 +1,48 @@ -Markup block - Gen - 39 - (0:0,0) - Tag block - Gen - 6 - (0:0,0) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 17 - (6:0,6) - Markup span - Gen - [ - 14 - (8:0,8) - Markup span - Gen - [ class = '] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:6 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [bar] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:1 - SyntaxKind.Text;[bar]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ Foo ] - [23..28) - FullWidth: 5 - Slots: 1 - SyntaxKind.List - [ Foo ] - [23..28) - FullWidth: 5 - Slots: 3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Foo]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 4 - (28:0,28) - Markup span - Gen - [

    ] - SpanEditHandler;Accepts:Any - (28:0,28) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (32:0,32) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..39)::39 - [

    Foo

    ] + MarkupBlock - [0..39)::39 + MarkupTagBlock - [0..6)::6 - [
    ] + MarkupTextLiteral - [0..6)::6 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTagBlock - [6..23)::17 - [

    ] + MarkupTextLiteral - [6..8)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupAttributeBlock - [8..22)::14 - [ class = 'bar'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Equals;[=]; + MarkupTextLiteral - [16..18)::2 - [ '] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + SingleQuote;[']; + GenericBlock - [18..21)::3 + MarkupLiteralAttributeValue - [18..21)::3 - [bar] + MarkupTextLiteral - [18..21)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [22..23)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [23..28)::5 - [ Foo ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[Foo]; + Whitespace;[ ]; + MarkupTagBlock - [28..32)::4 - [

    ] + MarkupTextLiteral - [28..32)::4 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [32..39)::7 - [
    ] + MarkupTextLiteral - [32..39)::7 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + Whitespace;[ ]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/CorrectlyHandlesSingleLineOfMarkupWithEmbeddedStatement.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/CorrectlyHandlesSingleLineOfMarkupWithEmbeddedStatement.stree.txt index b57b9fee5..0822f48a4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/CorrectlyHandlesSingleLineOfMarkupWithEmbeddedStatement.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/CorrectlyHandlesSingleLineOfMarkupWithEmbeddedStatement.stree.txt @@ -1,30 +1,30 @@ -Markup block - Gen - 31 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo ] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:2 - SyntaxKind.Text;[Foo]; - SyntaxKind.Whitespace;[ ]; - Statement block - Gen - 12 - (9:0,9) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [if(true) {}] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:7 - SyntaxKind.Keyword;[if]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Keyword;[true]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.HtmlTextLiteral - [ Bar] - [21..25) - FullWidth: 4 - Slots: 1 - SyntaxKind.List - [ Bar] - [21..25) - FullWidth: 4 - Slots: 2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Bar]; - Tag block - Gen - 6 - (25:0,25) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..31)::31 - [
    Foo @if(true) {} Bar
    ] + MarkupBlock - [0..31)::31 + MarkupTagBlock - [0..5)::5 - [
    ] + MarkupTextLiteral - [0..5)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [5..9)::4 - [Foo ] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + Whitespace;[ ]; + CSharpCodeBlock - [9..21)::12 + CSharpTransition - [9..10)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [10..21)::11 - [if(true) {}] - Gen - SpanEditHandler;Accepts:Any + Keyword;[if]; + LeftParenthesis;[(]; + Keyword;[true]; + RightParenthesis;[)]; + Whitespace;[ ]; + LeftBrace;[{]; + RightBrace;[}]; + MarkupTextLiteral - [21..25)::4 - [ Bar] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[Bar]; + MarkupTagBlock - [25..31)::6 - [
    ] + MarkupTextLiteral - [25..31)::6 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotIgnoreNewLineAtTheEndOfMarkupBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotIgnoreNewLineAtTheEndOfMarkupBlock.stree.txt index 39886635d..2f8c946bd 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotIgnoreNewLineAtTheEndOfMarkupBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotIgnoreNewLineAtTheEndOfMarkupBlock.stree.txt @@ -1,21 +1,25 @@ -Markup block - Gen - 15 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 5 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (5:1,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 6 - (7:2,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (7:2,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (13:2,6) - Tokens:1 - SyntaxKind.NewLine;[LF]; +RazorDocument - [0..15)::15 - [@{LF}LFLF] + MarkupBlock - [0..15)::15 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..5)::5 + CSharpStatement - [0..5)::5 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..5)::4 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..4)::2 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + RazorMetaCode - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [5..7)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagBlock - [7..13)::6 - [] + MarkupTextLiteral - [7..13)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[html]; + CloseAngle;[>]; + MarkupTextLiteral - [13..15)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotIgnoreWhitespaceAtTheEndOfVerbatimBlockIfNoNewlinePresent.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotIgnoreWhitespaceAtTheEndOfVerbatimBlockIfNoNewlinePresent.stree.txt index e6d7acb56..da3662cee 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotIgnoreWhitespaceAtTheEndOfVerbatimBlockIfNoNewlinePresent.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotIgnoreWhitespaceAtTheEndOfVerbatimBlockIfNoNewlinePresent.stree.txt @@ -1,21 +1,25 @@ -Markup block - Gen - 17 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 5 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (5:1,1) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 6 - (9:1,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (9:1,5) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (15:1,11) - Tokens:1 - SyntaxKind.NewLine;[LF]; +RazorDocument - [0..17)::17 - [@{LF} LF] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..5)::5 + CSharpStatement - [0..5)::5 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..5)::4 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..4)::2 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + RazorMetaCode - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [5..9)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [9..15)::6 - [] + MarkupTextLiteral - [9..15)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[html]; + CloseAngle;[>]; + MarkupTextLiteral - [15..17)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderExtraNewLineAtTheEndOfVerbatimBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderExtraNewLineAtTheEndOfVerbatimBlock.stree.txt index 9a418f929..fcbe43d6d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderExtraNewLineAtTheEndOfVerbatimBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderExtraNewLineAtTheEndOfVerbatimBlock.stree.txt @@ -1,19 +1,23 @@ -Markup block - Gen - 13 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 5 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (5:1,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 6 - (7:2,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (7:2,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..13)::13 - [@{LF}LF] + MarkupBlock - [0..13)::13 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..5)::5 + CSharpStatement - [0..5)::5 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..5)::4 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..4)::2 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + RazorMetaCode - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [5..7)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagBlock - [7..13)::6 - [] + MarkupTextLiteral - [7..13)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[html]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderExtraWhitespaceAndNewLineAtTheEndOfVerbatimBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderExtraWhitespaceAndNewLineAtTheEndOfVerbatimBlock.stree.txt index ef473190e..446309a65 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderExtraWhitespaceAndNewLineAtTheEndOfVerbatimBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderExtraWhitespaceAndNewLineAtTheEndOfVerbatimBlock.stree.txt @@ -1,20 +1,24 @@ -Markup block - Gen - 15 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 5 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [ LF] - SpanEditHandler;Accepts:Any - (5:1,1) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 6 - (9:2,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (9:2,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..15)::15 - [@{LF} LF] + MarkupBlock - [0..15)::15 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..5)::5 + CSharpStatement - [0..5)::5 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..5)::4 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..4)::2 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + RazorMetaCode - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [5..9)::4 - [ LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + NewLine;[LF]; + MarkupTagBlock - [9..15)::6 - [] + MarkupTextLiteral - [9..15)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[html]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderNewlineAfterTextTagInVerbatimBlockIfFollowedByCSharp.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderNewlineAfterTextTagInVerbatimBlockIfFollowedByCSharp.stree.txt index a0171c8cd..99cd6a1e7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderNewlineAfterTextTagInVerbatimBlockIfFollowedByCSharp.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotRenderNewlineAfterTextTagInVerbatimBlockIfFollowedByCSharp.stree.txt @@ -1,32 +1,36 @@ -Markup block - Gen - 30 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 24 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 17 - (2:0,2) - Tag block - Gen - 6 - (2:0,2) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Blah] - SpanEditHandler;Accepts:None - (8:0,8) - Tokens:1 - SyntaxKind.Text;[Blah]; - Tag block - Gen - 7 - (12:0,12) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (12:0,12) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [LFLF] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:2 - SyntaxKind.NewLine;[LF]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (23:2,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Tag block - Gen - 6 - (24:2,1) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (24:2,1) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..30)::30 - [@{BlahLFLF}] + MarkupBlock - [0..30)::30 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..24)::24 + CSharpStatement - [0..24)::24 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..24)::23 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..23)::21 + MarkupBlock - [2..19)::17 + MarkupTagBlock - [2..8)::6 - [] + MarkupTransition - [2..8)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [8..12)::4 - [Blah] - Gen - SpanEditHandler;Accepts:None + Text;[Blah]; + MarkupTagBlock - [12..19)::7 - [] + MarkupTransition - [12..19)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [19..23)::4 - [LFLF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + NewLine;[LF]; + RazorMetaCode - [23..24)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTagBlock - [24..30)::6 - [] + MarkupTextLiteral - [24..30)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[html]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotReturnErrorOnMismatchedTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotReturnErrorOnMismatchedTags.stree.txt index dad631ec5..d8bdb6a61 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotReturnErrorOnMismatchedTags.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotReturnErrorOnMismatchedTags.stree.txt @@ -1,29 +1,30 @@ -Markup block - Gen - 24 - (0:0,0) - Markup span - Gen - [Foo ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:2 - SyntaxKind.Text;[Foo]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (4:0,4) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 3 - (9:0,9) - Markup span - Gen - [

    ] - SpanEditHandler;Accepts:Any - (9:0,9) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 4 - (12:0,12) - Markup span - Gen - [

    ] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 4 - (16:0,16) - Markup span - Gen - [

    ] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ Baz] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Baz]; +RazorDocument - [0..24)::24 - [Foo

    Baz] + MarkupBlock - [0..24)::24 + MarkupTextLiteral - [0..4)::4 - [Foo ] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + Whitespace;[ ]; + MarkupTagBlock - [4..9)::5 - [
    ] + MarkupTextLiteral - [4..9)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTagBlock - [9..12)::3 - [

    ] + MarkupTextLiteral - [9..12)::3 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [12..16)::4 - [

    ] + MarkupTextLiteral - [12..16)::4 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [16..20)::4 - [

    ] + MarkupTextLiteral - [16..20)::4 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [20..24)::4 - [ Baz] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[Baz]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotSwitchToCodeOnEmailAddressInAttribute.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotSwitchToCodeOnEmailAddressInAttribute.stree.txt index d0b467e5d..a5bfee0c7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotSwitchToCodeOnEmailAddressInAttribute.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/DoesNotSwitchToCodeOnEmailAddressInAttribute.stree.txt @@ -1,28 +1,32 @@ -Markup block - Gen - 51 - (0:0,0) - Tag block - Gen - 39 - (0:0,0) - Markup span - Gen - [ - 36 - (2:0,2) - Markup span - Gen - [ href="] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[href]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [mailto:example@microsoft.com] - SpanEditHandler;Accepts:Any - (9:0,9) - Tokens:1 - SyntaxKind.Text;[mailto:example@microsoft.com]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (37:0,37) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (38:0,38) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [Email me] - [39..47) - FullWidth: 8 - Slots: 1 - SyntaxKind.List - [Email me] - [39..47) - FullWidth: 8 - Slots: 3 - SyntaxKind.Text;[Email]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[me]; - Tag block - Gen - 4 - (47:0,47) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (47:0,47) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[a]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..51)::51 - [Email me] + MarkupBlock - [0..51)::51 + MarkupTagBlock - [0..39)::39 - [] + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[a]; + MarkupAttributeBlock - [2..38)::36 - [ href="mailto:example@microsoft.com"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..7)::4 - [href] - Gen - SpanEditHandler;Accepts:Any + Text;[href]; + Equals;[=]; + MarkupTextLiteral - [8..9)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [9..37)::28 + MarkupLiteralAttributeValue - [9..37)::28 - [mailto:example@microsoft.com] + MarkupTextLiteral - [9..37)::28 - [mailto:example@microsoft.com] - Gen - SpanEditHandler;Accepts:Any + Text;[mailto:example@microsoft.com]; + MarkupTextLiteral - [37..38)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [38..39)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [39..47)::8 - [Email me] - Gen - SpanEditHandler;Accepts:Any + Text;[Email]; + Whitespace;[ ]; + Text;[me]; + MarkupTagBlock - [47..51)::4 - [] + MarkupTextLiteral - [47..51)::4 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[a]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/EmitsAtSignAsMarkupIfAtEndOfFile.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/EmitsAtSignAsMarkupIfAtEndOfFile.stree.txt index 96e511bc7..5f52cafeb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/EmitsAtSignAsMarkupIfAtEndOfFile.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/EmitsAtSignAsMarkupIfAtEndOfFile.stree.txt @@ -1,11 +1,15 @@ -Markup block - Gen - 5 - (0:0,0) - Markup span - Gen - [foo ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:2 - SyntaxKind.Text;[foo]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 1 - (4:0,4) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (5:0,5) - Tokens:1 - SyntaxKind.Unknown;[]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..5)::5 - [foo @] + MarkupBlock - [0..5)::5 + MarkupTextLiteral - [0..4)::4 - [foo ] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + Whitespace;[ ]; + CSharpCodeBlock - [4..5)::1 + CSharpImplicitExpression - [4..5)::1 + CSharpTransition - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [5..5)::0 + CSharpCodeBlock - [5..5)::0 + CSharpExpressionLiteral - [5..5)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Marker;[]; + MarkupTextLiteral - [5..5)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/EmitsCodeBlockIfFirstCharacterIsSwapCharacter.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/EmitsCodeBlockIfFirstCharacterIsSwapCharacter.stree.txt index bb5a42cd0..14decc375 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/EmitsCodeBlockIfFirstCharacterIsSwapCharacter.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/EmitsCodeBlockIfFirstCharacterIsSwapCharacter.stree.txt @@ -1,10 +1,14 @@ -Markup block - Gen - 4 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Expression block - Gen - 4 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (1:0,1) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..4)::4 - [@bar] + MarkupBlock - [0..4)::4 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..4)::4 + CSharpImplicitExpression - [0..4)::4 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [1..4)::3 + CSharpCodeBlock - [1..4)::3 + CSharpExpressionLiteral - [1..4)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[bar]; + MarkupTextLiteral - [4..4)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesExtraNewLineBeforeMarkupInNestedBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesExtraNewLineBeforeMarkupInNestedBlock.stree.txt index 233594530..be711bcf2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesExtraNewLineBeforeMarkupInNestedBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesExtraNewLineBeforeMarkupInNestedBlock.stree.txt @@ -1,42 +1,46 @@ -Markup block - Gen - 37 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 31 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 13 - (4:1,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [if(true){LF}] - SpanEditHandler;Accepts:Any - (5:1,1) - Tokens:7 - SyntaxKind.Keyword;[if]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Keyword;[true]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.RightBrace;[}]; - Code span - Gen - [ LF] - SpanEditHandler;Accepts:Any - (17:2,1) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 10 - (20:3,0) - Tag block - Gen - 7 - (20:3,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (20:3,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ LF] - SpanEditHandler;Accepts:None - (27:3,7) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.NewLine;[LF]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (30:4,0) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (30:4,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Tag block - Gen - 6 - (31:4,1) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:4,1) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..37)::37 - [@{LF@if(true){LF} LF LF}] + MarkupBlock - [0..37)::37 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..31)::31 + CSharpStatement - [0..31)::31 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..31)::30 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..30)::28 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + CSharpCodeBlock - [4..17)::13 + CSharpTransition - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [5..17)::12 - [if(true){LF}] - Gen - SpanEditHandler;Accepts:Any + Keyword;[if]; + LeftParenthesis;[(]; + Keyword;[true]; + RightParenthesis;[)]; + LeftBrace;[{]; + NewLine;[LF]; + RightBrace;[}]; + CSharpStatementLiteral - [17..20)::3 - [ LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + NewLine;[LF]; + MarkupBlock - [20..30)::10 + MarkupTagBlock - [20..27)::7 - [] + MarkupTextLiteral - [20..27)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTextLiteral - [27..30)::3 - [ LF] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + NewLine;[LF]; + CSharpStatementLiteral - [30..30)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [30..31)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTagBlock - [31..37)::6 - [] + MarkupTextLiteral - [31..37)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[html]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesNewLineAndMarkupInNestedBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesNewLineAndMarkupInNestedBlock.stree.txt index f29745765..b1462eaf2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesNewLineAndMarkupInNestedBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesNewLineAndMarkupInNestedBlock.stree.txt @@ -1,37 +1,41 @@ -Markup block - Gen - 27 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 27 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 13 - (4:1,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [if(true){LF}] - SpanEditHandler;Accepts:Any - (5:1,1) - Tokens:7 - SyntaxKind.Keyword;[if]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Keyword;[true]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.RightBrace;[}]; - Markup block - Gen - 9 - (17:2,1) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (17:2,1) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 7 - (18:2,2) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (18:2,2) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (25:2,9) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (26:2,10) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (26:2,10) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (27:2,11) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..27)::27 - [@{LF@if(true){LF} }] + MarkupBlock - [0..27)::27 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..27)::27 + CSharpStatement - [0..27)::27 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..27)::26 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..26)::24 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + CSharpCodeBlock - [4..17)::13 + CSharpTransition - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [5..17)::12 - [if(true){LF}] - Gen - SpanEditHandler;Accepts:Any + Keyword;[if]; + LeftParenthesis;[(]; + Keyword;[true]; + RightParenthesis;[)]; + LeftBrace;[{]; + NewLine;[LF]; + RightBrace;[}]; + MarkupBlock - [17..26)::9 + MarkupTextLiteral - [17..18)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [18..25)::7 - [] + MarkupTextLiteral - [18..25)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [26..26)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [26..27)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [27..27)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesNewLineInNestedBlock.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesNewLineInNestedBlock.stree.txt index 35287578b..8a7ee3056 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesNewLineInNestedBlock.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandlesNewLineInNestedBlock.stree.txt @@ -1,33 +1,37 @@ -Markup block - Gen - 29 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 21 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 13 - (4:1,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [if(true){LF}] - SpanEditHandler;Accepts:Any - (5:1,1) - Tokens:7 - SyntaxKind.Keyword;[if]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Keyword;[true]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.RightBrace;[}]; - Code span - Gen - [ LF] - SpanEditHandler;Accepts:Any - (17:2,1) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (20:3,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (21:3,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 6 - (23:4,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (23:4,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..29)::29 - [@{LF@if(true){LF} LF}LF] + MarkupBlock - [0..29)::29 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..21)::21 + CSharpStatement - [0..21)::21 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..21)::20 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..20)::18 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + CSharpCodeBlock - [4..17)::13 + CSharpTransition - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [5..17)::12 - [if(true){LF}] - Gen - SpanEditHandler;Accepts:Any + Keyword;[if]; + LeftParenthesis;[(]; + Keyword;[true]; + RightParenthesis;[)]; + LeftBrace;[{]; + NewLine;[LF]; + RightBrace;[}]; + CSharpStatementLiteral - [17..20)::3 - [ LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + NewLine;[LF]; + RazorMetaCode - [20..21)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [21..23)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagBlock - [23..29)::6 - [] + MarkupTextLiteral - [23..29)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[html]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandsParsingOverToCodeParserWhenAtSignEncounteredAndEmitsOutput.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandsParsingOverToCodeParserWhenAtSignEncounteredAndEmitsOutput.stree.txt index 854d621f2..112b5dc46 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandsParsingOverToCodeParserWhenAtSignEncounteredAndEmitsOutput.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/HandsParsingOverToCodeParserWhenAtSignEncounteredAndEmitsOutput.stree.txt @@ -1,12 +1,16 @@ -Markup block - Gen - 12 - (0:0,0) - Markup span - Gen - [foo ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:2 - SyntaxKind.Text;[foo]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 4 - (4:0,4) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (5:0,5) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Markup span - Gen - [ baz] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; +RazorDocument - [0..12)::12 - [foo @bar baz] + MarkupBlock - [0..12)::12 + MarkupTextLiteral - [0..4)::4 - [foo ] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + Whitespace;[ ]; + CSharpCodeBlock - [4..8)::4 + CSharpImplicitExpression - [4..8)::4 + CSharpTransition - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [5..8)::3 + CSharpCodeBlock - [5..8)::3 + CSharpExpressionLiteral - [5..8)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[bar]; + MarkupTextLiteral - [8..12)::4 - [ baz] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[baz]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/IgnoresTagsInContentsOfScriptTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/IgnoresTagsInContentsOfScriptTag.stree.txt index 9898890f2..697d3e5c8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/IgnoresTagsInContentsOfScriptTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/IgnoresTagsInContentsOfScriptTag.stree.txt @@ -1,28 +1,32 @@ -Markup block - Gen - 36 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..36)::36 - [] + MarkupBlock - [0..36)::36 + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [27..36)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/NestedCodeBlockWithMarkupSetsDotAsMarkup.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/NestedCodeBlockWithMarkupSetsDotAsMarkup.stree.txt index 4de831cbb..ce225dd4a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/NestedCodeBlockWithMarkupSetsDotAsMarkup.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/NestedCodeBlockWithMarkupSetsDotAsMarkup.stree.txt @@ -1,55 +1,59 @@ -Markup block - Gen - 52 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 52 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [if (true) { ] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:8 - SyntaxKind.Keyword;[if]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Keyword;[true]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - Statement block - Gen - 37 - (13:0,13) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (13:0,13) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [if(false) {] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:6 - SyntaxKind.Keyword;[if]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Keyword;[false]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 24 - (25:0,25) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (26:0,26) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Unknown;[]; - Expression block - Gen - 10 - (31:0,31) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [something] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (32:0,32) - Tokens:1 - SyntaxKind.Identifier;[something]; - Markup span - Gen - [.] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Text;[.]; - Tag block - Gen - 6 - (42:0,42) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (42:0,42) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (48:0,48) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [}] - SpanEditHandler;Accepts:Any - (49:0,49) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Code span - Gen - [ }] - SpanEditHandler;Accepts:Any - (50:0,50) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; +RazorDocument - [0..52)::52 - [@if (true) { @if(false) {
    @something.
    } }] + MarkupBlock - [0..52)::52 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..52)::52 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [1..13)::12 - [if (true) { ] - Gen - SpanEditHandler;Accepts:Any + Keyword;[if]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Keyword;[true]; + RightParenthesis;[)]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + CSharpCodeBlock - [13..50)::37 + CSharpTransition - [13..14)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [14..25)::11 - [if(false) {] - Gen - SpanEditHandler;Accepts:Any + Keyword;[if]; + LeftParenthesis;[(]; + Keyword;[false]; + RightParenthesis;[)]; + Whitespace;[ ]; + LeftBrace;[{]; + MarkupBlock - [25..49)::24 + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [26..31)::5 - [
    ] + MarkupTextLiteral - [26..31)::5 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [31..31)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [31..41)::10 + CSharpImplicitExpression - [31..41)::10 + CSharpTransition - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [32..41)::9 + CSharpCodeBlock - [32..41)::9 + CSharpExpressionLiteral - [32..41)::9 - [something] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[something]; + MarkupTextLiteral - [41..42)::1 - [.] - Gen - SpanEditHandler;Accepts:Any + Text;[.]; + MarkupTagBlock - [42..48)::6 - [
    ] + MarkupTextLiteral - [42..48)::6 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [48..49)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [49..50)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + RightBrace;[}]; + CSharpStatementLiteral - [50..52)::2 - [ }] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + RightBrace;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/NoLongerSupportsDollarOpenBraceCombination.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/NoLongerSupportsDollarOpenBraceCombination.stree.txt index f2a68845e..83a58c80e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/NoLongerSupportsDollarOpenBraceCombination.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/NoLongerSupportsDollarOpenBraceCombination.stree.txt @@ -1,14 +1,15 @@ -Markup block - Gen - 17 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [${bar}] - [5..11) - FullWidth: 6 - Slots: 1 - SyntaxKind.Text;[${bar}]; - Tag block - Gen - 6 - (11:0,11) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..17)::17 - [${bar}] + MarkupBlock - [0..17)::17 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..11)::6 - [${bar}] - Gen - SpanEditHandler;Accepts:Any + Text;[${bar}]; + MarkupTagBlock - [11..17)::6 - [] + MarkupTextLiteral - [11..17)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/OutputsEmptyBlockWithEmptyMarkupSpanIfContentIsEmptyString.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/OutputsEmptyBlockWithEmptyMarkupSpanIfContentIsEmptyString.stree.txt index df48ed419..dcd6e3091 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/OutputsEmptyBlockWithEmptyMarkupSpanIfContentIsEmptyString.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/OutputsEmptyBlockWithEmptyMarkupSpanIfContentIsEmptyString.stree.txt @@ -1,3 +1,4 @@ -Markup block - Gen - 0 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..0)::0 - [] + MarkupBlock - [0..0)::0 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/OutputsWhitespaceOnlyContentAsSingleWhitespaceMarkupSpan.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/OutputsWhitespaceOnlyContentAsSingleWhitespaceMarkupSpan.stree.txt index e22974936..8ba87c13e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/OutputsWhitespaceOnlyContentAsSingleWhitespaceMarkupSpan.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/OutputsWhitespaceOnlyContentAsSingleWhitespaceMarkupSpan.stree.txt @@ -1,3 +1,4 @@ -Markup block - Gen - 10 - (0:0,0) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +RazorDocument - [0..10)::10 - [ ] + MarkupBlock - [0..10)::10 + MarkupTextLiteral - [0..10)::10 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParseDocumentDoesNotSwitchToCodeOnEmailAddressInText.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParseDocumentDoesNotSwitchToCodeOnEmailAddressInText.stree.txt index 6c9f0060a..d745d5216 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParseDocumentDoesNotSwitchToCodeOnEmailAddressInText.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParseDocumentDoesNotSwitchToCodeOnEmailAddressInText.stree.txt @@ -1,3 +1,4 @@ -Markup block - Gen - 21 - (0:0,0) - Markup span - Gen - [example@microsoft.com] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Text;[example@microsoft.com]; +RazorDocument - [0..21)::21 - [example@microsoft.com] + MarkupBlock - [0..21)::21 + MarkupTextLiteral - [0..21)::21 - [example@microsoft.com] - Gen - SpanEditHandler;Accepts:Any + Text;[example@microsoft.com]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParseSectionIgnoresTagsInContentsOfScriptTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParseSectionIgnoresTagsInContentsOfScriptTag.stree.txt index 9b49f113c..df6cc2b45 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParseSectionIgnoresTagsInContentsOfScriptTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParseSectionIgnoresTagsInContentsOfScriptTag.stree.txt @@ -1,52 +1,59 @@ -Markup block - Gen - 53 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Directive block - Gen - 53 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Identifier;[section]; - Code span - Gen - [ ] - SpanEditHandler;Accepts:Whitespace - (8:0,8) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [Foo] - DirectiveTokenEditHandler;Accepts:NonWhitespace - (9:0,9) - Tokens:1 - SyntaxKind.Identifier;[Foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:AllWhitespace - (12:0,12) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - MetaCode span - Gen - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd - (13:0,13) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 38 - (14:0,14) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 8 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (51:0,51) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (52:0,52) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (53:0,53) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..53)::53 - [@section Foo { }] + MarkupBlock - [0..53)::53 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..53)::53 + RazorDirective - [0..53)::53 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..53)::52 + RazorMetaCode - [1..8)::7 - Gen - SpanEditHandler;Accepts:None + Identifier;[section]; + CSharpCodeBlock - [8..53)::45 + CSharpStatementLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [9..12)::3 - [Foo] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[Foo]; + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [13..14)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd + LeftBrace;[{]; + MarkupBlock - [14..52)::38 + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [15..23)::8 - [] + MarkupTextLiteral - [42..51)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; + MarkupTextLiteral - [51..52)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + RazorMetaCode - [52..53)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [53..53)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParsesWholeContentAsOneSpanIfNoSwapCharacterEncountered.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParsesWholeContentAsOneSpanIfNoSwapCharacterEncountered.stree.txt index 5cf09d83c..30659bb00 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParsesWholeContentAsOneSpanIfNoSwapCharacterEncountered.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ParsesWholeContentAsOneSpanIfNoSwapCharacterEncountered.stree.txt @@ -1,5 +1,6 @@ -Markup block - Gen - 7 - (0:0,0) - Markup span - Gen - [foo baz] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.Text;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; +RazorDocument - [0..7)::7 - [foo baz] + MarkupBlock - [0..7)::7 + MarkupTextLiteral - [0..7)::7 - [foo baz] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + Whitespace;[ ]; + Text;[baz]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersExtraNewlineAtTheEndTextTagInVerbatimBlockIfFollowedByHtml.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersExtraNewlineAtTheEndTextTagInVerbatimBlockIfFollowedByHtml.stree.txt index 16d62d841..5d23cceb4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersExtraNewlineAtTheEndTextTagInVerbatimBlockIfFollowedByHtml.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersExtraNewlineAtTheEndTextTagInVerbatimBlockIfFollowedByHtml.stree.txt @@ -1,42 +1,46 @@ -Markup block - Gen - 38 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 32 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 19 - (2:0,2) - Tag block - Gen - 6 - (2:0,2) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Blah] - SpanEditHandler;Accepts:None - (8:0,8) - Tokens:1 - SyntaxKind.Text;[Blah]; - Tag block - Gen - 7 - (12:0,12) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (12:0,12) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:None - (19:0,19) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 10 - (21:1,0) - Tag block - Gen - 8 - (21:1,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (21:1,0) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:None - (29:1,8) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (31:2,0) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:2,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Tag block - Gen - 6 - (32:2,1) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:2,1) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..38)::38 - [@{BlahLFLF}] + MarkupBlock - [0..38)::38 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..32)::32 + CSharpStatement - [0..32)::32 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..32)::31 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..31)::29 + MarkupBlock - [2..21)::19 + MarkupTagBlock - [2..8)::6 - [] + MarkupTransition - [2..8)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [8..12)::4 - [Blah] - Gen - SpanEditHandler;Accepts:None + Text;[Blah]; + MarkupTagBlock - [12..19)::7 - [] + MarkupTransition - [12..19)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [19..21)::2 - [LF] - Gen - SpanEditHandler;Accepts:None + NewLine;[LF]; + MarkupBlock - [21..31)::10 + MarkupTagBlock - [21..29)::8 - [] + MarkupTextLiteral - [21..29)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[input]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [29..31)::2 - [LF] - Gen - SpanEditHandler;Accepts:None + NewLine;[LF]; + CSharpStatementLiteral - [31..31)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTagBlock - [32..38)::6 - [] + MarkupTextLiteral - [32..38)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[html]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersNewlineAfterTextTagInVerbatimBlockIfFollowedByMarkupTransition.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersNewlineAfterTextTagInVerbatimBlockIfFollowedByMarkupTransition.stree.txt index e0d845243..08a171980 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersNewlineAfterTextTagInVerbatimBlockIfFollowedByMarkupTransition.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersNewlineAfterTextTagInVerbatimBlockIfFollowedByMarkupTransition.stree.txt @@ -1,42 +1,46 @@ -Markup block - Gen - 37 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 31 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 19 - (2:0,2) - Tag block - Gen - 6 - (2:0,2) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Blah] - SpanEditHandler;Accepts:None - (8:0,8) - Tokens:1 - SyntaxKind.Text;[Blah]; - Tag block - Gen - 7 - (12:0,12) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (12:0,12) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:None - (19:0,19) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 9 - (21:1,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (21:1,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [:] - SpanEditHandler;Accepts:Any - (22:1,1) - Tokens:1 - SyntaxKind.Colon;[:]; - Markup span - Gen - [ BlehLF] - SpanEditHandler;Accepts:None - (23:1,2) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Bleh]; - SyntaxKind.NewLine;[LF]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (30:2,0) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (30:2,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Tag block - Gen - 6 - (31:2,1) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:2,1) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..37)::37 - [@{BlahLF@: BlehLF}] + MarkupBlock - [0..37)::37 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..31)::31 + CSharpStatement - [0..31)::31 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..31)::30 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..30)::28 + MarkupBlock - [2..21)::19 + MarkupTagBlock - [2..8)::6 - [] + MarkupTransition - [2..8)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [8..12)::4 - [Blah] - Gen - SpanEditHandler;Accepts:None + Text;[Blah]; + MarkupTagBlock - [12..19)::7 - [] + MarkupTransition - [12..19)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [19..21)::2 - [LF] - Gen - SpanEditHandler;Accepts:None + NewLine;[LF]; + MarkupBlock - [21..30)::9 + MarkupTransition - [21..22)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorMetaCode - [22..23)::1 - Gen - SpanEditHandler;Accepts:Any + Colon;[:]; + MarkupTextLiteral - [23..30)::7 - [ BlehLF] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Text;[Bleh]; + NewLine;[LF]; + CSharpStatementLiteral - [30..30)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [30..31)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTagBlock - [31..37)::6 - [] + MarkupTextLiteral - [31..37)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[html]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersTextPseudoTagAsMarkup.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersTextPseudoTagAsMarkup.stree.txt index 3e301a21b..760960d47 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersTextPseudoTagAsMarkup.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/RendersTextPseudoTagAsMarkup.stree.txt @@ -1,17 +1,18 @@ -Markup block - Gen - 20 - (0:0,0) - Markup span - Gen - [Foo ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:2 - SyntaxKind.Text;[Foo]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 6 - (4:0,4) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [Foo] - [10..13) - FullWidth: 3 - Slots: 1 - SyntaxKind.Text;[Foo]; - Tag block - Gen - 7 - (13:0,13) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..20)::20 - [Foo Foo] + MarkupBlock - [0..20)::20 + MarkupTextLiteral - [0..4)::4 - [Foo ] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + Whitespace;[ ]; + MarkupTagBlock - [4..10)::6 - [] + MarkupTextLiteral - [4..10)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [10..13)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagBlock - [13..20)::7 - [] + MarkupTextLiteral - [13..20)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ReturnsOneMarkupSegmentIfNoCodeBlocksEncountered.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ReturnsOneMarkupSegmentIfNoCodeBlocksEncountered.stree.txt index 20d868ac4..e9fd31b94 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ReturnsOneMarkupSegmentIfNoCodeBlocksEncountered.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlDocumentTest/ReturnsOneMarkupSegmentIfNoCodeBlocksEncountered.stree.txt @@ -1,25 +1,26 @@ -Markup block - Gen - 30 - (0:0,0) - Markup span - Gen - [Foo Baz] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.Text;[Foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Baz]; - HtmlComment block - Gen - 10 - (7:0,7) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (14:0,14) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Bar] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:1 - SyntaxKind.Text;[Bar]; - Markup span - Gen - [Bar] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTextLiteral - [17..20)::3 - [Bar] - Gen - SpanEditHandler;Accepts:Any + Text;[Bar]; + MarkupTextLiteral - [20..30)::10 - [] - SpanEditHandler;Accepts:None - (7:0,7) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +MarkupBlock - [0..11)::11 - [ ] + MarkupCommentBlock - [0..10)::10 + MarkupTextLiteral - [0..4)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTextLiteral - [10..11)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/DocTypeTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/DocTypeTag.stree.txt index 32f7fa877..c2e81cdca 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/DocTypeTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/DocTypeTag.stree.txt @@ -1,10 +1,10 @@ -Markup block - Gen - 16 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:6 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Bang;[!]; - SyntaxKind.Text;[DOCTYPE]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[html]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +MarkupBlock - [0..16)::16 - [ ] + MarkupTextLiteral - [0..15)::15 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Bang;[!]; + Text;[DOCTYPE]; + Whitespace;[ ]; + Text;[html]; + CloseAngle;[>]; + MarkupTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ElementTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ElementTags.stree.txt index 58655a02b..595d9b844 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ElementTags.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ElementTags.stree.txt @@ -1,16 +1,16 @@ -Markup block - Gen - 11 - (0:0,0) - Tag block - Gen - 3 - (0:0,0) - Markup span - Gen - [

    ] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:1 - SyntaxKind.Text;[Foo]; - Tag block - Gen - 4 - (6:0,6) - Markup span - Gen - [

    ] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +MarkupBlock - [0..11)::11 - [

    Foo

    ] + MarkupTagBlock - [0..3)::3 - [

    ] + MarkupTextLiteral - [0..3)::3 - [

    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..6)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagBlock - [6..10)::4 - [

    ] + MarkupTextLiteral - [6..10)::4 - [

    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [10..11)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTag.stree.txt index baf0d6663..54c9c3aaa 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTag.stree.txt @@ -1,12 +1,12 @@ -Markup block - Gen - 6 - (0:0,0) - Tag block - Gen - 2 - (0:0,0) - Markup span - Gen - [<>] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:2 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 3 - (2:0,2) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +MarkupBlock - [0..6)::6 - [<> ] + MarkupTagBlock - [0..2)::2 - [<>] + MarkupTextLiteral - [0..2)::2 - [<>] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + CloseAngle;[>]; + MarkupTagBlock - [2..5)::3 - [] + MarkupTextLiteral - [2..5)::3 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.stree.txt index a67b6a15f..10e4bae77 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.stree.txt @@ -1,13 +1,13 @@ -Markup block - Gen - 7 - (0:0,0) - Tag block - Gen - 3 - (0:0,0) - Markup span - Gen - [

    ] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 3 - (3:0,3) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +MarkupBlock - [0..7)::7 - [

    ] + MarkupTagBlock - [0..3)::3 - [

    ] + MarkupTextLiteral - [0..3)::3 - [

    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..6)::3 - [] + MarkupTextLiteral - [3..6)::3 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.stree.txt index e0fac8062..19dd914fa 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.stree.txt @@ -1,279 +1,285 @@ -Markup block - Gen - 344 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 344 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 21 - (4:1,0) - Tag block - Gen - 6 - (4:1,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[area]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 15 - (10:1,6) - Markup span - Gen - [ - 21 - (25:4,0) - Tag block - Gen - 6 - (25:4,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (25:4,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[base]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 15 - (31:4,6) - Markup span - Gen - [ - 17 - (46:7,0) - Tag block - Gen - 4 - (46:7,0) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (46:7,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[br]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 13 - (50:7,4) - Markup span - Gen - [ - 19 - (63:10,0) - Tag block - Gen - 5 - (63:10,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (63:10,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[col]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 14 - (68:10,5) - Markup span - Gen - [ - 27 - (82:13,0) - Tag block - Gen - 9 - (82:13,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (82:13,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[command]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 18 - (91:13,9) - Markup span - Gen - [ - 23 - (109:16,0) - Tag block - Gen - 7 - (109:16,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (109:16,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[embed]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 16 - (116:16,7) - Markup span - Gen - [ - 17 - (132:19,0) - Tag block - Gen - 4 - (132:19,0) - Markup span - Gen - [


    ] - SpanEditHandler;Accepts:None - (132:19,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[hr]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 13 - (136:19,4) - Markup span - Gen - [ - 19 - (149:22,0) - Tag block - Gen - 5 - (149:22,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (149:22,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[img]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 14 - (154:22,5) - Markup span - Gen - [ - 23 - (168:25,0) - Tag block - Gen - 7 - (168:25,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (168:25,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 16 - (175:25,7) - Markup span - Gen - [ - 25 - (191:28,0) - Tag block - Gen - 8 - (191:28,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (191:28,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[keygen]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 17 - (199:28,8) - Markup span - Gen - [ - 21 - (216:31,0) - Tag block - Gen - 6 - (216:31,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (216:31,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[link]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 15 - (222:31,6) - Markup span - Gen - [ - 21 - (237:34,0) - Tag block - Gen - 6 - (237:34,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (237:34,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[meta]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 15 - (243:34,6) - Markup span - Gen - [ - 23 - (258:37,0) - Tag block - Gen - 7 - (258:37,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (258:37,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[param]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 16 - (265:37,7) - Markup span - Gen - [ - 25 - (281:40,0) - Tag block - Gen - 8 - (281:40,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (281:40,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[source]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 17 - (289:40,8) - Markup span - Gen - [ - 23 - (306:43,0) - Tag block - Gen - 7 - (306:43,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (306:43,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[track]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 16 - (313:43,7) - Markup span - Gen - [ - 15 - (329:46,0) - Tag block - Gen - 5 - (329:46,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (329:46,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[wbr]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 10 - (334:46,5) - Markup span - Gen - [ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..344)::344 + CSharpStatement - [0..344)::344 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..344)::343 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..344)::342 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL + NewLine;[LF]; + MarkupBlock - [4..25)::21 + MarkupTagBlock - [4..10)::6 - [] + MarkupTextLiteral - [4..10)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[area]; + CloseAngle;[>]; + MarkupTagBlock - [10..25)::15 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[area]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [25..46)::21 + MarkupTagBlock - [25..31)::6 - [] + MarkupTextLiteral - [25..31)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[base]; + CloseAngle;[>]; + MarkupTagBlock - [31..46)::15 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[base]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [46..63)::17 + MarkupTagBlock - [46..50)::4 - [
    ] + MarkupTextLiteral - [46..50)::4 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTagBlock - [50..63)::13 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[br]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [63..82)::19 + MarkupTagBlock - [63..68)::5 - [] + MarkupTextLiteral - [63..68)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[col]; + CloseAngle;[>]; + MarkupTagBlock - [68..82)::14 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[col]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [82..109)::27 + MarkupTagBlock - [82..91)::9 - [] + MarkupTextLiteral - [82..91)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[command]; + CloseAngle;[>]; + MarkupTagBlock - [91..109)::18 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[command]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [109..132)::23 + MarkupTagBlock - [109..116)::7 - [] + MarkupTextLiteral - [109..116)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[embed]; + CloseAngle;[>]; + MarkupTagBlock - [116..132)::16 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[embed]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [132..149)::17 + MarkupTagBlock - [132..136)::4 - [
    ] + MarkupTextLiteral - [132..136)::4 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[hr]; + CloseAngle;[>]; + MarkupTagBlock - [136..149)::13 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[hr]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [149..168)::19 + MarkupTagBlock - [149..154)::5 - [] + MarkupTextLiteral - [149..154)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[img]; + CloseAngle;[>]; + MarkupTagBlock - [154..168)::14 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[img]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [168..191)::23 + MarkupTagBlock - [168..175)::7 - [] + MarkupTextLiteral - [168..175)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagBlock - [175..191)::16 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[input]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [191..216)::25 + MarkupTagBlock - [191..199)::8 - [] + MarkupTextLiteral - [191..199)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[keygen]; + CloseAngle;[>]; + MarkupTagBlock - [199..216)::17 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[keygen]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [216..237)::21 + MarkupTagBlock - [216..222)::6 - [] + MarkupTextLiteral - [216..222)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[link]; + CloseAngle;[>]; + MarkupTagBlock - [222..237)::15 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[link]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [237..258)::21 + MarkupTagBlock - [237..243)::6 - [] + MarkupTextLiteral - [237..243)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[meta]; + CloseAngle;[>]; + MarkupTagBlock - [243..258)::15 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[meta]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [258..281)::23 + MarkupTagBlock - [258..265)::7 - [] + MarkupTextLiteral - [258..265)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[param]; + CloseAngle;[>]; + MarkupTagBlock - [265..281)::16 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[param]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [281..306)::25 + MarkupTagBlock - [281..289)::8 - [] + MarkupTextLiteral - [281..289)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[source]; + CloseAngle;[>]; + MarkupTagBlock - [289..306)::17 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[source]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [306..329)::23 + MarkupTagBlock - [306..313)::7 - [] + MarkupTextLiteral - [306..313)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[track]; + CloseAngle;[>]; + MarkupTagBlock - [313..329)::16 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[track]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Transition;[@]; + Text;[{]; + NewLine;[LF]; + MarkupBlock - [329..344)::15 + MarkupTagBlock - [329..334)::5 - [] + MarkupTextLiteral - [329..334)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[wbr]; + CloseAngle;[>]; + MarkupTagBlock - [334..344)::10 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[wbr]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + RazorMetaCode - [344..344)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ProcessingInstructionTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ProcessingInstructionTag.stree.txt index dddadc8c9..e239ffba0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ProcessingInstructionTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ProcessingInstructionTag.stree.txt @@ -1,16 +1,16 @@ -Markup block - Gen - 23 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:12 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.Text;[xml]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[version]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - SyntaxKind.Text;[1.0]; - SyntaxKind.DoubleQuote;["]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +MarkupBlock - [0..23)::23 - [ ] + MarkupTextLiteral - [0..22)::22 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + QuestionMark;[?]; + Text;[xml]; + Whitespace;[ ]; + Text;[version]; + Equals;[=]; + DoubleQuote;["]; + Text;[1.0]; + DoubleQuote;["]; + Whitespace;[ ]; + QuestionMark;[?]; + CloseAngle;[>]; + MarkupTextLiteral - [22..23)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag.stree.txt index ec50996e1..7f99f00f9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag.stree.txt @@ -1,28 +1,29 @@ -Markup block - Gen - 68 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (59:0,59) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..68)::68 - [] + MarkupBlock - [0..68)::68 + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [59..68)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedBeginTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedBeginTag.stree.txt index 0875523d1..56d08090e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedBeginTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedBeginTag.stree.txt @@ -1,16 +1,17 @@ -Markup block - Gen - 20 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..20)::20 - [] + MarkupBlock - [0..20)::20 + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [11..20)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedEndTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedEndTag.stree.txt index b567fc17c..24eda177d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedEndTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedEndTag.stree.txt @@ -1,17 +1,18 @@ -Markup block - Gen - 21 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..21)::21 - [] + MarkupBlock - [0..21)::21 + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [12..21)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedMalformedTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedMalformedTag.stree.txt index 8239da199..9652a8ea7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedMalformedTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedMalformedTag.stree.txt @@ -1,29 +1,30 @@ -Markup block - Gen - 39 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..39)::39 - [] + MarkupBlock - [0..39)::39 + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [30..39)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedTag.stree.txt index e8cc72350..161404efd 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedTag.stree.txt @@ -1,20 +1,21 @@ -Markup block - Gen - 24 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..24)::24 - [] + MarkupBlock - [0..24)::24 + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [15..24)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/TextTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/TextTags.stree.txt index 0448c3594..7c6e8f6fd 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/TextTags.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/TextTags.stree.txt @@ -1,14 +1,14 @@ -Markup block - Gen - 16 - (0:0,0) - Tag block - Gen - 6 - (0:0,0) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:1 - SyntaxKind.Text;[Foo]; - Tag block - Gen - 7 - (9:0,9) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..16)::16 - [Foo] + MarkupTagBlock - [0..6)::6 - [] + MarkupTransition - [0..6)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [6..9)::3 - [Foo] - Gen - SpanEditHandler;Accepts:None + Text;[Foo]; + MarkupTagBlock - [9..16)::7 - [] + MarkupTransition - [9..16)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByCloseTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByCloseTag.stree.txt index 11b37fa43..205e42d6a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByCloseTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByCloseTag.stree.txt @@ -1,563 +1,612 @@ -Markup block - Gen - 584 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 34 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 14 - (4:1,0) - Tag block - Gen - 6 - (4:1,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[area]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (10:1,6) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 7 - (11:1,7) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (11:1,7) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[area]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (18:1,14) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:2,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (34:2,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 34 - (36:3,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (36:3,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (37:3,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (38:3,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 14 - (40:4,0) - Tag block - Gen - 6 - (40:4,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (40:4,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[base]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (46:4,6) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 7 - (47:4,7) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (47:4,7) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[base]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (54:4,14) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (69:5,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (70:5,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 30 - (72:6,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (72:6,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (73:6,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (74:6,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 10 - (76:7,0) - Tag block - Gen - 4 - (76:7,0) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (76:7,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[br]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (80:7,4) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (81:7,5) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (81:7,5) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[br]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (86:7,10) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (101:8,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (102:8,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 32 - (104:9,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (104:9,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (105:9,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (106:9,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 12 - (108:10,0) - Tag block - Gen - 5 - (108:10,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (108:10,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[col]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (113:10,5) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 6 - (114:10,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (114:10,6) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[col]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (120:10,12) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (135:11,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (136:11,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 40 - (138:12,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (138:12,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (139:12,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (140:12,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 20 - (142:13,0) - Tag block - Gen - 9 - (142:13,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (142:13,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[command]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (151:13,9) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 10 - (152:13,10) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (152:13,10) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[command]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (162:13,20) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (177:14,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (178:14,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 36 - (180:15,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (180:15,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (181:15,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (182:15,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 16 - (184:16,0) - Tag block - Gen - 7 - (184:16,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (184:16,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[embed]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (191:16,7) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 8 - (192:16,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (192:16,8) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[embed]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (200:16,16) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (215:17,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (216:17,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 30 - (218:18,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (218:18,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (219:18,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (220:18,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 10 - (222:19,0) - Tag block - Gen - 4 - (222:19,0) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (222:19,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[hr]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (226:19,4) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (227:19,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (227:19,5) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[hr]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (232:19,10) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (247:20,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (248:20,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 32 - (250:21,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (250:21,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (251:21,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (252:21,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 12 - (254:22,0) - Tag block - Gen - 5 - (254:22,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (254:22,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[img]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (259:22,5) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 6 - (260:22,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (260:22,6) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[img]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (266:22,12) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (281:23,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (282:23,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 36 - (284:24,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (284:24,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (285:24,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (286:24,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 16 - (288:25,0) - Tag block - Gen - 7 - (288:25,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (288:25,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (295:25,7) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 8 - (296:25,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (296:25,8) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[input]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (304:25,16) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (319:26,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (320:26,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 38 - (322:27,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (322:27,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (323:27,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (324:27,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 18 - (326:28,0) - Tag block - Gen - 8 - (326:28,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (326:28,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[keygen]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (334:28,8) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 9 - (335:28,9) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (335:28,9) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[keygen]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (344:28,18) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (359:29,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (360:29,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 34 - (362:30,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (362:30,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (363:30,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (364:30,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 14 - (366:31,0) - Tag block - Gen - 6 - (366:31,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (366:31,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[link]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (372:31,6) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 7 - (373:31,7) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (373:31,7) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[link]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (380:31,14) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (395:32,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (396:32,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 34 - (398:33,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (398:33,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (399:33,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (400:33,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 14 - (402:34,0) - Tag block - Gen - 6 - (402:34,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (402:34,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[meta]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (408:34,6) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 7 - (409:34,7) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (409:34,7) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[meta]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (416:34,14) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (431:35,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (432:35,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 36 - (434:36,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (434:36,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (435:36,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (436:36,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 16 - (438:37,0) - Tag block - Gen - 7 - (438:37,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (438:37,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[param]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (445:37,7) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 8 - (446:37,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (446:37,8) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[param]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (454:37,16) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (469:38,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (470:38,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 38 - (472:39,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (472:39,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (473:39,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (474:39,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 18 - (476:40,0) - Tag block - Gen - 8 - (476:40,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (476:40,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[source]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (484:40,8) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 9 - (485:40,9) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (485:40,9) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[source]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (494:40,18) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (509:41,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (510:41,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 36 - (512:42,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (512:42,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (513:42,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (514:42,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 16 - (516:43,0) - Tag block - Gen - 7 - (516:43,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (516:43,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[track]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (523:43,7) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 8 - (524:43,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (524:43,8) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[track]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (532:43,16) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (547:44,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (548:44,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 32 - (550:45,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (550:45,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (551:45,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (552:45,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 12 - (554:46,0) - Tag block - Gen - 5 - (554:46,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (554:46,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[wbr]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (559:46,5) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 6 - (560:46,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (560:46,6) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[wbr]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (566:46,12) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (581:47,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (582:47,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; +RazorDocument - [0..584)::584 - [@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF

    var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF
    var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF@{LF var x = true;LF}LF] + MarkupBlock - [0..584)::584 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..34)::34 + CSharpStatement - [0..34)::34 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..34)::33 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..33)::31 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [4..18)::14 + MarkupTagBlock - [4..10)::6 - [] + MarkupTextLiteral - [4..10)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[area]; + CloseAngle;[>]; + MarkupTextLiteral - [10..11)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [11..18)::7 - [] + MarkupTextLiteral - [11..18)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[area]; + CloseAngle;[>]; + CSharpStatementLiteral - [18..33)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [33..34)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [34..36)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [36..70)::34 + CSharpStatement - [36..70)::34 + CSharpTransition - [36..37)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [37..70)::33 + RazorMetaCode - [37..38)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [38..69)::31 + CSharpStatementLiteral - [38..40)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [40..54)::14 + MarkupTagBlock - [40..46)::6 - [] + MarkupTextLiteral - [40..46)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[base]; + CloseAngle;[>]; + MarkupTextLiteral - [46..47)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [47..54)::7 - [] + MarkupTextLiteral - [47..54)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[base]; + CloseAngle;[>]; + CSharpStatementLiteral - [54..69)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [69..70)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [70..72)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [72..102)::30 + CSharpStatement - [72..102)::30 + CSharpTransition - [72..73)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [73..102)::29 + RazorMetaCode - [73..74)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [74..101)::27 + CSharpStatementLiteral - [74..76)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [76..86)::10 + MarkupTagBlock - [76..80)::4 - [
    ] + MarkupTextLiteral - [76..80)::4 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTextLiteral - [80..81)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [81..86)::5 - [
    ] + MarkupTextLiteral - [81..86)::5 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[br]; + CloseAngle;[>]; + CSharpStatementLiteral - [86..101)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [101..102)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [102..104)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [104..136)::32 + CSharpStatement - [104..136)::32 + CSharpTransition - [104..105)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [105..136)::31 + RazorMetaCode - [105..106)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [106..135)::29 + CSharpStatementLiteral - [106..108)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [108..120)::12 + MarkupTagBlock - [108..113)::5 - [] + MarkupTextLiteral - [108..113)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[col]; + CloseAngle;[>]; + MarkupTextLiteral - [113..114)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [114..120)::6 - [] + MarkupTextLiteral - [114..120)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[col]; + CloseAngle;[>]; + CSharpStatementLiteral - [120..135)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [135..136)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [136..138)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [138..178)::40 + CSharpStatement - [138..178)::40 + CSharpTransition - [138..139)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [139..178)::39 + RazorMetaCode - [139..140)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [140..177)::37 + CSharpStatementLiteral - [140..142)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [142..162)::20 + MarkupTagBlock - [142..151)::9 - [] + MarkupTextLiteral - [142..151)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[command]; + CloseAngle;[>]; + MarkupTextLiteral - [151..152)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [152..162)::10 - [] + MarkupTextLiteral - [152..162)::10 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[command]; + CloseAngle;[>]; + CSharpStatementLiteral - [162..177)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [177..178)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [178..180)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [180..216)::36 + CSharpStatement - [180..216)::36 + CSharpTransition - [180..181)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [181..216)::35 + RazorMetaCode - [181..182)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [182..215)::33 + CSharpStatementLiteral - [182..184)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [184..200)::16 + MarkupTagBlock - [184..191)::7 - [] + MarkupTextLiteral - [184..191)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[embed]; + CloseAngle;[>]; + MarkupTextLiteral - [191..192)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [192..200)::8 - [] + MarkupTextLiteral - [192..200)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[embed]; + CloseAngle;[>]; + CSharpStatementLiteral - [200..215)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [215..216)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [216..218)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [218..248)::30 + CSharpStatement - [218..248)::30 + CSharpTransition - [218..219)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [219..248)::29 + RazorMetaCode - [219..220)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [220..247)::27 + CSharpStatementLiteral - [220..222)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [222..232)::10 + MarkupTagBlock - [222..226)::4 - [
    ] + MarkupTextLiteral - [222..226)::4 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[hr]; + CloseAngle;[>]; + MarkupTextLiteral - [226..227)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [227..232)::5 - [] + MarkupTextLiteral - [227..232)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[hr]; + CloseAngle;[>]; + CSharpStatementLiteral - [232..247)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [247..248)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [248..250)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [250..282)::32 + CSharpStatement - [250..282)::32 + CSharpTransition - [250..251)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [251..282)::31 + RazorMetaCode - [251..252)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [252..281)::29 + CSharpStatementLiteral - [252..254)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [254..266)::12 + MarkupTagBlock - [254..259)::5 - [] + MarkupTextLiteral - [254..259)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[img]; + CloseAngle;[>]; + MarkupTextLiteral - [259..260)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [260..266)::6 - [] + MarkupTextLiteral - [260..266)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[img]; + CloseAngle;[>]; + CSharpStatementLiteral - [266..281)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [281..282)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [282..284)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [284..320)::36 + CSharpStatement - [284..320)::36 + CSharpTransition - [284..285)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [285..320)::35 + RazorMetaCode - [285..286)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [286..319)::33 + CSharpStatementLiteral - [286..288)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [288..304)::16 + MarkupTagBlock - [288..295)::7 - [] + MarkupTextLiteral - [288..295)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTextLiteral - [295..296)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [296..304)::8 - [] + MarkupTextLiteral - [296..304)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[input]; + CloseAngle;[>]; + CSharpStatementLiteral - [304..319)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [319..320)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [320..322)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [322..360)::38 + CSharpStatement - [322..360)::38 + CSharpTransition - [322..323)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [323..360)::37 + RazorMetaCode - [323..324)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [324..359)::35 + CSharpStatementLiteral - [324..326)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [326..344)::18 + MarkupTagBlock - [326..334)::8 - [] + MarkupTextLiteral - [326..334)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[keygen]; + CloseAngle;[>]; + MarkupTextLiteral - [334..335)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [335..344)::9 - [] + MarkupTextLiteral - [335..344)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[keygen]; + CloseAngle;[>]; + CSharpStatementLiteral - [344..359)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [359..360)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [360..362)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [362..396)::34 + CSharpStatement - [362..396)::34 + CSharpTransition - [362..363)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [363..396)::33 + RazorMetaCode - [363..364)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [364..395)::31 + CSharpStatementLiteral - [364..366)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [366..380)::14 + MarkupTagBlock - [366..372)::6 - [] + MarkupTextLiteral - [366..372)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[link]; + CloseAngle;[>]; + MarkupTextLiteral - [372..373)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [373..380)::7 - [] + MarkupTextLiteral - [373..380)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[link]; + CloseAngle;[>]; + CSharpStatementLiteral - [380..395)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [395..396)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [396..398)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [398..432)::34 + CSharpStatement - [398..432)::34 + CSharpTransition - [398..399)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [399..432)::33 + RazorMetaCode - [399..400)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [400..431)::31 + CSharpStatementLiteral - [400..402)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [402..416)::14 + MarkupTagBlock - [402..408)::6 - [] + MarkupTextLiteral - [402..408)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[meta]; + CloseAngle;[>]; + MarkupTextLiteral - [408..409)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [409..416)::7 - [] + MarkupTextLiteral - [409..416)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[meta]; + CloseAngle;[>]; + CSharpStatementLiteral - [416..431)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [431..432)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [432..434)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [434..470)::36 + CSharpStatement - [434..470)::36 + CSharpTransition - [434..435)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [435..470)::35 + RazorMetaCode - [435..436)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [436..469)::33 + CSharpStatementLiteral - [436..438)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [438..454)::16 + MarkupTagBlock - [438..445)::7 - [] + MarkupTextLiteral - [438..445)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[param]; + CloseAngle;[>]; + MarkupTextLiteral - [445..446)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [446..454)::8 - [] + MarkupTextLiteral - [446..454)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[param]; + CloseAngle;[>]; + CSharpStatementLiteral - [454..469)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [469..470)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [470..472)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [472..510)::38 + CSharpStatement - [472..510)::38 + CSharpTransition - [472..473)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [473..510)::37 + RazorMetaCode - [473..474)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [474..509)::35 + CSharpStatementLiteral - [474..476)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [476..494)::18 + MarkupTagBlock - [476..484)::8 - [] + MarkupTextLiteral - [476..484)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[source]; + CloseAngle;[>]; + MarkupTextLiteral - [484..485)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [485..494)::9 - [] + MarkupTextLiteral - [485..494)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[source]; + CloseAngle;[>]; + CSharpStatementLiteral - [494..509)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [509..510)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [510..512)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [512..548)::36 + CSharpStatement - [512..548)::36 + CSharpTransition - [512..513)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [513..548)::35 + RazorMetaCode - [513..514)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [514..547)::33 + CSharpStatementLiteral - [514..516)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [516..532)::16 + MarkupTagBlock - [516..523)::7 - [] + MarkupTextLiteral - [516..523)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[track]; + CloseAngle;[>]; + MarkupTextLiteral - [523..524)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [524..532)::8 - [] + MarkupTextLiteral - [524..532)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[track]; + CloseAngle;[>]; + CSharpStatementLiteral - [532..547)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [547..548)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [548..550)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [550..582)::32 + CSharpStatement - [550..582)::32 + CSharpTransition - [550..551)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [551..582)::31 + RazorMetaCode - [551..552)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [552..581)::29 + CSharpStatementLiteral - [552..554)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [554..566)::12 + MarkupTagBlock - [554..559)::5 - [] + MarkupTextLiteral - [554..559)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[wbr]; + CloseAngle;[>]; + MarkupTextLiteral - [559..560)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [560..566)::6 - [] + MarkupTextLiteral - [560..566)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[wbr]; + CloseAngle;[>]; + CSharpStatementLiteral - [566..581)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [581..582)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [582..584)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByContent.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByContent.stree.txt index c0f108246..216fe622f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByContent.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByContent.stree.txt @@ -1,435 +1,484 @@ -Markup block - Gen - 452 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 26 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 6 - (4:1,0) - Tag block - Gen - 6 - (4:1,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (4:1,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[area]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (10:1,6) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (25:2,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (26:2,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 26 - (28:3,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (28:3,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (29:3,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (30:3,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 6 - (32:4,0) - Tag block - Gen - 6 - (32:4,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (32:4,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[base]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (38:4,6) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (53:5,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (54:5,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 24 - (56:6,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (56:6,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (57:6,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (58:6,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 4 - (60:7,0) - Tag block - Gen - 4 - (60:7,0) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (60:7,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[br]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (64:7,4) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (79:8,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (80:8,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 25 - (82:9,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (82:9,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (83:9,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (84:9,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 5 - (86:10,0) - Tag block - Gen - 5 - (86:10,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (86:10,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[col]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (91:10,5) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (106:11,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (107:11,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 29 - (109:12,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (109:12,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (110:12,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (111:12,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 9 - (113:13,0) - Tag block - Gen - 9 - (113:13,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (113:13,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[command]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (122:13,9) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (137:14,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (138:14,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 27 - (140:15,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (140:15,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (141:15,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (142:15,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 7 - (144:16,0) - Tag block - Gen - 7 - (144:16,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (144:16,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[embed]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (151:16,7) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (166:17,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (167:17,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 24 - (169:18,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (169:18,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (170:18,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (171:18,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 4 - (173:19,0) - Tag block - Gen - 4 - (173:19,0) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (173:19,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[hr]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (177:19,4) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (192:20,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (193:20,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 25 - (195:21,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (195:21,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (196:21,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (197:21,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 5 - (199:22,0) - Tag block - Gen - 5 - (199:22,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (199:22,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[img]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (204:22,5) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (219:23,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (220:23,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 27 - (222:24,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (222:24,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (223:24,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (224:24,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 7 - (226:25,0) - Tag block - Gen - 7 - (226:25,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (226:25,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (233:25,7) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (248:26,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (249:26,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 28 - (251:27,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (251:27,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (252:27,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (253:27,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 8 - (255:28,0) - Tag block - Gen - 8 - (255:28,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (255:28,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[keygen]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (263:28,8) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (278:29,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (279:29,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 26 - (281:30,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (281:30,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (282:30,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (283:30,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 6 - (285:31,0) - Tag block - Gen - 6 - (285:31,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (285:31,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[link]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (291:31,6) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (306:32,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (307:32,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 26 - (309:33,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (309:33,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (310:33,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (311:33,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 6 - (313:34,0) - Tag block - Gen - 6 - (313:34,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (313:34,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[meta]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (319:34,6) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (334:35,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (335:35,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 27 - (337:36,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (337:36,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (338:36,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (339:36,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 7 - (341:37,0) - Tag block - Gen - 7 - (341:37,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (341:37,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[param]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (348:37,7) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (363:38,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (364:38,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 28 - (366:39,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (366:39,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (367:39,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (368:39,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 8 - (370:40,0) - Tag block - Gen - 8 - (370:40,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (370:40,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[source]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (378:40,8) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (393:41,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (394:41,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 27 - (396:42,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (396:42,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (397:42,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (398:42,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 7 - (400:43,0) - Tag block - Gen - 7 - (400:43,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (400:43,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[track]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (407:43,7) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (422:44,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (423:44,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 25 - (425:45,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (425:45,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (426:45,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (427:45,2) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 5 - (429:46,0) - Tag block - Gen - 5 - (429:46,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (429:46,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[wbr]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (434:46,5) - Tokens:9 - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[true]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (449:47,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (450:47,1) - Tokens:1 - SyntaxKind.NewLine;[LF]; +RazorDocument - [0..452)::452 - [@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LF
    var x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LF
    var x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF@{LFvar x = true;LF}LF] + MarkupBlock - [0..452)::452 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..26)::26 + CSharpStatement - [0..26)::26 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..26)::25 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..25)::23 + CSharpStatementLiteral - [2..4)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [4..10)::6 + MarkupTagBlock - [4..10)::6 - [] + MarkupTextLiteral - [4..10)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[area]; + CloseAngle;[>]; + CSharpStatementLiteral - [10..25)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [25..26)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [26..28)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [28..54)::26 + CSharpStatement - [28..54)::26 + CSharpTransition - [28..29)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [29..54)::25 + RazorMetaCode - [29..30)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [30..53)::23 + CSharpStatementLiteral - [30..32)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [32..38)::6 + MarkupTagBlock - [32..38)::6 - [] + MarkupTextLiteral - [32..38)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[base]; + CloseAngle;[>]; + CSharpStatementLiteral - [38..53)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [53..54)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [54..56)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [56..80)::24 + CSharpStatement - [56..80)::24 + CSharpTransition - [56..57)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [57..80)::23 + RazorMetaCode - [57..58)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [58..79)::21 + CSharpStatementLiteral - [58..60)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [60..64)::4 + MarkupTagBlock - [60..64)::4 - [
    ] + MarkupTextLiteral - [60..64)::4 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + CSharpStatementLiteral - [64..79)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [79..80)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [80..82)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [82..107)::25 + CSharpStatement - [82..107)::25 + CSharpTransition - [82..83)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [83..107)::24 + RazorMetaCode - [83..84)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [84..106)::22 + CSharpStatementLiteral - [84..86)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [86..91)::5 + MarkupTagBlock - [86..91)::5 - [] + MarkupTextLiteral - [86..91)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[col]; + CloseAngle;[>]; + CSharpStatementLiteral - [91..106)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [106..107)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [107..109)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [109..138)::29 + CSharpStatement - [109..138)::29 + CSharpTransition - [109..110)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [110..138)::28 + RazorMetaCode - [110..111)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [111..137)::26 + CSharpStatementLiteral - [111..113)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [113..122)::9 + MarkupTagBlock - [113..122)::9 - [] + MarkupTextLiteral - [113..122)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[command]; + CloseAngle;[>]; + CSharpStatementLiteral - [122..137)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [137..138)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [138..140)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [140..167)::27 + CSharpStatement - [140..167)::27 + CSharpTransition - [140..141)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [141..167)::26 + RazorMetaCode - [141..142)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [142..166)::24 + CSharpStatementLiteral - [142..144)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [144..151)::7 + MarkupTagBlock - [144..151)::7 - [] + MarkupTextLiteral - [144..151)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[embed]; + CloseAngle;[>]; + CSharpStatementLiteral - [151..166)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [166..167)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [167..169)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [169..193)::24 + CSharpStatement - [169..193)::24 + CSharpTransition - [169..170)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [170..193)::23 + RazorMetaCode - [170..171)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [171..192)::21 + CSharpStatementLiteral - [171..173)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [173..177)::4 + MarkupTagBlock - [173..177)::4 - [
    ] + MarkupTextLiteral - [173..177)::4 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[hr]; + CloseAngle;[>]; + CSharpStatementLiteral - [177..192)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [192..193)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [193..195)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [195..220)::25 + CSharpStatement - [195..220)::25 + CSharpTransition - [195..196)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [196..220)::24 + RazorMetaCode - [196..197)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [197..219)::22 + CSharpStatementLiteral - [197..199)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [199..204)::5 + MarkupTagBlock - [199..204)::5 - [] + MarkupTextLiteral - [199..204)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[img]; + CloseAngle;[>]; + CSharpStatementLiteral - [204..219)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [219..220)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [220..222)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [222..249)::27 + CSharpStatement - [222..249)::27 + CSharpTransition - [222..223)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [223..249)::26 + RazorMetaCode - [223..224)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [224..248)::24 + CSharpStatementLiteral - [224..226)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [226..233)::7 + MarkupTagBlock - [226..233)::7 - [] + MarkupTextLiteral - [226..233)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + CSharpStatementLiteral - [233..248)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [248..249)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [249..251)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [251..279)::28 + CSharpStatement - [251..279)::28 + CSharpTransition - [251..252)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [252..279)::27 + RazorMetaCode - [252..253)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [253..278)::25 + CSharpStatementLiteral - [253..255)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [255..263)::8 + MarkupTagBlock - [255..263)::8 - [] + MarkupTextLiteral - [255..263)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[keygen]; + CloseAngle;[>]; + CSharpStatementLiteral - [263..278)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [278..279)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [279..281)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [281..307)::26 + CSharpStatement - [281..307)::26 + CSharpTransition - [281..282)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [282..307)::25 + RazorMetaCode - [282..283)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [283..306)::23 + CSharpStatementLiteral - [283..285)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [285..291)::6 + MarkupTagBlock - [285..291)::6 - [] + MarkupTextLiteral - [285..291)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[link]; + CloseAngle;[>]; + CSharpStatementLiteral - [291..306)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [306..307)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [307..309)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [309..335)::26 + CSharpStatement - [309..335)::26 + CSharpTransition - [309..310)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [310..335)::25 + RazorMetaCode - [310..311)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [311..334)::23 + CSharpStatementLiteral - [311..313)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [313..319)::6 + MarkupTagBlock - [313..319)::6 - [] + MarkupTextLiteral - [313..319)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[meta]; + CloseAngle;[>]; + CSharpStatementLiteral - [319..334)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [334..335)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [335..337)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [337..364)::27 + CSharpStatement - [337..364)::27 + CSharpTransition - [337..338)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [338..364)::26 + RazorMetaCode - [338..339)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [339..363)::24 + CSharpStatementLiteral - [339..341)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [341..348)::7 + MarkupTagBlock - [341..348)::7 - [] + MarkupTextLiteral - [341..348)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[param]; + CloseAngle;[>]; + CSharpStatementLiteral - [348..363)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [363..364)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [364..366)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [366..394)::28 + CSharpStatement - [366..394)::28 + CSharpTransition - [366..367)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [367..394)::27 + RazorMetaCode - [367..368)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [368..393)::25 + CSharpStatementLiteral - [368..370)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [370..378)::8 + MarkupTagBlock - [370..378)::8 - [] + MarkupTextLiteral - [370..378)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[source]; + CloseAngle;[>]; + CSharpStatementLiteral - [378..393)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [393..394)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [394..396)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [396..423)::27 + CSharpStatement - [396..423)::27 + CSharpTransition - [396..397)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [397..423)::26 + RazorMetaCode - [397..398)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [398..422)::24 + CSharpStatementLiteral - [398..400)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [400..407)::7 + MarkupTagBlock - [400..407)::7 - [] + MarkupTextLiteral - [400..407)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[track]; + CloseAngle;[>]; + CSharpStatementLiteral - [407..422)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [422..423)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [423..425)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [425..450)::25 + CSharpStatement - [425..450)::25 + CSharpTransition - [425..426)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [426..450)::24 + RazorMetaCode - [426..427)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [427..449)::22 + CSharpStatementLiteral - [427..429)::2 - [LF] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + NewLine;[LF]; + MarkupBlock - [429..434)::5 + MarkupTagBlock - [429..434)::5 - [] + MarkupTextLiteral - [429..434)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[wbr]; + CloseAngle;[>]; + CSharpStatementLiteral - [434..449)::15 - [var x = true;LF] - Gen - SpanEditHandler;Accepts:Any + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Keyword;[true]; + Semicolon;[;]; + NewLine;[LF]; + RazorMetaCode - [449..450)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [450..452)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByOtherTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByOtherTag.stree.txt index f25abf090..dec1f7732 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByOtherTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByOtherTag.stree.txt @@ -1,401 +1,387 @@ -Markup block - Gen - 564 - (0:0,0) - Markup span - Gen - [{LF] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:2 - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 6 - (3:1,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (3:1,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[area]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (9:1,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (9:1,6) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [16..38) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [16..38) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 6 - (38:4,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (38:4,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[base]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (44:4,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (44:4,6) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [51..73) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [51..73) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 4 - (73:7,0) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:Any - (73:7,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[br]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (77:7,4) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (77:7,4) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [84..106) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [84..106) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 5 - (106:10,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (106:10,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[col]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (111:10,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (111:10,5) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [118..140) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [118..140) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 9 - (140:13,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (140:13,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[command]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (149:13,9) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (149:13,9) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [156..178) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [156..178) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 7 - (178:16,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (178:16,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[embed]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (185:16,7) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (185:16,7) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [192..214) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [192..214) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 4 - (214:19,0) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:Any - (214:19,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[hr]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (218:19,4) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (218:19,4) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [225..247) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [225..247) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 5 - (247:22,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (247:22,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[img]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (252:22,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (252:22,5) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [259..281) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [259..281) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 7 - (281:25,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (281:25,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (288:25,7) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (288:25,7) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [295..317) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [295..317) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 8 - (317:28,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (317:28,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[keygen]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (325:28,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (325:28,8) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [332..354) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [332..354) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 6 - (354:31,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (354:31,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[link]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (360:31,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (360:31,6) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [367..389) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [367..389) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 6 - (389:34,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (389:34,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[meta]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (395:34,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (395:34,6) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [402..424) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [402..424) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 7 - (424:37,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (424:37,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[param]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (431:37,7) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (431:37,7) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [438..460) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [438..460) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 8 - (460:40,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (460:40,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[source]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (468:40,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (468:40,8) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [475..497) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [475..497) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 7 - (497:43,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (497:43,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[track]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (504:43,7) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (504:43,7) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ var x = true;LF}LF{LF] - [511..533) - FullWidth: 22 - Slots: 1 - SyntaxKind.List - [ var x = true;LF}LF{LF] - [511..533) - FullWidth: 22 - Slots: 13 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[{]; - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 5 - (533:46,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (533:46,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[wbr]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (538:46,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (538:46,5) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[other]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ var x = true;LF}LF] - SpanEditHandler;Accepts:Any - (545:46,12) - Tokens:11 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[x]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Equals;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true;]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Text;[}]; - SyntaxKind.NewLine;[LF]; +RazorDocument - [0..564)::564 - [{LF var x = true;LF}LF{LF var x = true;LF}LF{LF
    var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF{LF
    var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF{LF var x = true;LF}LF] + MarkupBlock - [0..564)::564 + MarkupTextLiteral - [0..3)::3 - [{LF] - Gen - SpanEditHandler;Accepts:Any + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [3..9)::6 - [] + MarkupTextLiteral - [3..9)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[area]; + CloseAngle;[>]; + MarkupTagBlock - [9..16)::7 - [] + MarkupTextLiteral - [9..16)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [16..38)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [38..44)::6 - [] + MarkupTextLiteral - [38..44)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[base]; + CloseAngle;[>]; + MarkupTagBlock - [44..51)::7 - [] + MarkupTextLiteral - [44..51)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [51..73)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [73..77)::4 - [
    ] + MarkupTextLiteral - [73..77)::4 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTagBlock - [77..84)::7 - [] + MarkupTextLiteral - [77..84)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [84..106)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [106..111)::5 - [] + MarkupTextLiteral - [106..111)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[col]; + CloseAngle;[>]; + MarkupTagBlock - [111..118)::7 - [] + MarkupTextLiteral - [111..118)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [118..140)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [140..149)::9 - [] + MarkupTextLiteral - [140..149)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[command]; + CloseAngle;[>]; + MarkupTagBlock - [149..156)::7 - [] + MarkupTextLiteral - [149..156)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [156..178)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [178..185)::7 - [] + MarkupTextLiteral - [178..185)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[embed]; + CloseAngle;[>]; + MarkupTagBlock - [185..192)::7 - [] + MarkupTextLiteral - [185..192)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [192..214)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [214..218)::4 - [
    ] + MarkupTextLiteral - [214..218)::4 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[hr]; + CloseAngle;[>]; + MarkupTagBlock - [218..225)::7 - [] + MarkupTextLiteral - [218..225)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [225..247)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [247..252)::5 - [] + MarkupTextLiteral - [247..252)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[img]; + CloseAngle;[>]; + MarkupTagBlock - [252..259)::7 - [] + MarkupTextLiteral - [252..259)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [259..281)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [281..288)::7 - [] + MarkupTextLiteral - [281..288)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagBlock - [288..295)::7 - [] + MarkupTextLiteral - [288..295)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [295..317)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [317..325)::8 - [] + MarkupTextLiteral - [317..325)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[keygen]; + CloseAngle;[>]; + MarkupTagBlock - [325..332)::7 - [] + MarkupTextLiteral - [325..332)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [332..354)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [354..360)::6 - [] + MarkupTextLiteral - [354..360)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[link]; + CloseAngle;[>]; + MarkupTagBlock - [360..367)::7 - [] + MarkupTextLiteral - [360..367)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [367..389)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [389..395)::6 - [] + MarkupTextLiteral - [389..395)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[meta]; + CloseAngle;[>]; + MarkupTagBlock - [395..402)::7 - [] + MarkupTextLiteral - [395..402)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [402..424)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [424..431)::7 - [] + MarkupTextLiteral - [424..431)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[param]; + CloseAngle;[>]; + MarkupTagBlock - [431..438)::7 - [] + MarkupTextLiteral - [431..438)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [438..460)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [460..468)::8 - [] + MarkupTextLiteral - [460..468)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[source]; + CloseAngle;[>]; + MarkupTagBlock - [468..475)::7 - [] + MarkupTextLiteral - [468..475)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [475..497)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [497..504)::7 - [] + MarkupTextLiteral - [497..504)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[track]; + CloseAngle;[>]; + MarkupTagBlock - [504..511)::7 - [] + MarkupTextLiteral - [504..511)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [511..533)::22 - [ var x = true;LF}LF{LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; + Text;[{]; + NewLine;[LF]; + MarkupTagBlock - [533..538)::5 - [] + MarkupTextLiteral - [533..538)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[wbr]; + CloseAngle;[>]; + MarkupTagBlock - [538..545)::7 - [] + MarkupTextLiteral - [538..545)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[other]; + CloseAngle;[>]; + MarkupTextLiteral - [545..564)::19 - [ var x = true;LF}LF] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[var]; + Whitespace;[ ]; + Text;[x]; + Whitespace;[ ]; + Equals;[=]; + Whitespace;[ ]; + Text;[true;]; + NewLine;[LF]; + Text;[}]; + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/CSharpCodeParserDoesNotAcceptLeadingOrTrailingWhitespaceInDesignMode.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/CSharpCodeParserDoesNotAcceptLeadingOrTrailingWhitespaceInDesignMode.stree.txt index d4075c375..df63ae323 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/CSharpCodeParserDoesNotAcceptLeadingOrTrailingWhitespaceInDesignMode.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/CSharpCodeParserDoesNotAcceptLeadingOrTrailingWhitespaceInDesignMode.stree.txt @@ -1,64 +1,67 @@ -Markup block - Gen - 95 - (0:0,0) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 4 - (3:0,3) - Markup span - Gen - [
      ] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[ul]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF ] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:2 - SyntaxKind.NewLine;[LF]; - SyntaxKind.Whitespace;[ ]; - Statement block - Gen - 71 - (13:1,4) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (13:1,4) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [foreach(var p in Products) {LF ] - SpanEditHandler;Accepts:Any - (14:1,5) - Tokens:14 - SyntaxKind.Keyword;[foreach]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[p]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[in]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[Products]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Whitespace;[ ]; - Markup block - Gen - 25 - (52:2,8) - Tag block - Gen - 4 - (52:2,8) - Markup span - Gen - [
    • ] - SpanEditHandler;Accepts:None - (52:2,8) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Product: ] - SpanEditHandler;Accepts:Any - (56:2,12) - Tokens:2 - SyntaxKind.Text;[Product:]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 7 - (65:2,21) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (65:2,21) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [p.Name] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (66:2,22) - Tokens:3 - SyntaxKind.Identifier;[p]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Name]; - Tag block - Gen - 5 - (72:2,28) - Markup span - Gen - [
    • ] - SpanEditHandler;Accepts:None - (72:2,28) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [LF }] - SpanEditHandler;Accepts:None - (77:2,33) - Tokens:3 - SyntaxKind.NewLine;[LF]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [LF ] - SpanEditHandler;Accepts:Any - (84:3,5) - Tokens:2 - SyntaxKind.NewLine;[LF]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (90:4,4) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (90:4,4) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[ul]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..95)::95 - [
      LF @foreach(var p in Products) {LF
    • Product: @p.Name
    • LF }LF
    ] + MarkupTextLiteral - [0..3)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [3..7)::4 - [
      ] + MarkupTextLiteral - [3..7)::4 - [
        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[ul]; + CloseAngle;[>]; + MarkupTextLiteral - [7..13)::6 - [LF ] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + CSharpCodeBlock - [13..84)::71 + CSharpTransition - [13..14)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [14..52)::38 - [foreach(var p in Products) {LF ] - Gen - SpanEditHandler;Accepts:Any + Keyword;[foreach]; + LeftParenthesis;[(]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[p]; + Whitespace;[ ]; + Keyword;[in]; + Whitespace;[ ]; + Identifier;[Products]; + RightParenthesis;[)]; + Whitespace;[ ]; + LeftBrace;[{]; + NewLine;[LF]; + Whitespace;[ ]; + MarkupBlock - [52..77)::25 + MarkupTagBlock - [52..56)::4 - [
      • ] + MarkupTextLiteral - [52..56)::4 - [
      • ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[li]; + CloseAngle;[>]; + MarkupTextLiteral - [56..65)::9 - [Product: ] - Gen - SpanEditHandler;Accepts:Any + Text;[Product:]; + Whitespace;[ ]; + CSharpCodeBlock - [65..72)::7 + CSharpImplicitExpression - [65..72)::7 + CSharpTransition - [65..66)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [66..72)::6 + CSharpCodeBlock - [66..72)::6 + CSharpExpressionLiteral - [66..72)::6 - [p.Name] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[p]; + Dot;[.]; + Identifier;[Name]; + MarkupTagBlock - [72..77)::5 - [
      • ] + MarkupTextLiteral - [72..77)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[li]; + CloseAngle;[>]; + CSharpStatementLiteral - [77..84)::7 - [LF }] - Gen - SpanEditHandler;Accepts:None + NewLine;[LF]; + Whitespace;[ ]; + RightBrace;[}]; + MarkupTextLiteral - [84..90)::6 - [LF ] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + MarkupTagBlock - [90..95)::5 - [
      ] + MarkupTextLiteral - [90..95)::5 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[ul]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/DoesNotSwitchToCodeOnEmailAddressInAttribute.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/DoesNotSwitchToCodeOnEmailAddressInAttribute.stree.txt index 632e3b95a..c88671192 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/DoesNotSwitchToCodeOnEmailAddressInAttribute.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/DoesNotSwitchToCodeOnEmailAddressInAttribute.stree.txt @@ -1,27 +1,31 @@ -Markup block - Gen - 50 - (0:0,0) - Tag block - Gen - 38 - (0:0,0) - Markup span - Gen - [ - 35 - (2:0,2) - Markup span - Gen - [ href="] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[href]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [mailto:anurse@microsoft.com] - SpanEditHandler;Accepts:Any - (9:0,9) - Tokens:1 - SyntaxKind.Text;[mailto:anurse@microsoft.com]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Email me] - SpanEditHandler;Accepts:Any - (38:0,38) - Tokens:3 - SyntaxKind.Text;[Email]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[me]; - Tag block - Gen - 4 - (46:0,46) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (46:0,46) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[a]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..50)::50 - [Email me] + MarkupTagBlock - [0..38)::38 - [] + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[a]; + MarkupAttributeBlock - [2..37)::35 - [ href="mailto:anurse@microsoft.com"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..7)::4 - [href] - Gen - SpanEditHandler;Accepts:Any + Text;[href]; + Equals;[=]; + MarkupTextLiteral - [8..9)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [9..36)::27 + MarkupLiteralAttributeValue - [9..36)::27 - [mailto:anurse@microsoft.com] + MarkupTextLiteral - [9..36)::27 - [mailto:anurse@microsoft.com] - Gen - SpanEditHandler;Accepts:Any + Text;[mailto:anurse@microsoft.com]; + MarkupTextLiteral - [36..37)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [37..38)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTextLiteral - [38..46)::8 - [Email me] - Gen - SpanEditHandler;Accepts:Any + Text;[Email]; + Whitespace;[ ]; + Text;[me]; + MarkupTagBlock - [46..50)::4 - [] + MarkupTextLiteral - [46..50)::4 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[a]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/GivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/GivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt index d61235bf8..64d90e569 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/GivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/GivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt @@ -1,67 +1,70 @@ -Markup block - Gen - 95 - (0:0,0) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 4 - (3:0,3) - Markup span - Gen - [
      ] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[ul]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 77 - (9:1,0) - Code span - Gen - [ ] - SpanEditHandler;Accepts:Any - (9:1,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (13:1,4) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [foreach(var p in Products) {LF] - SpanEditHandler;Accepts:Any - (14:1,5) - Tokens:13 - SyntaxKind.Keyword;[foreach]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[p]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[in]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[Products]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 35 - (44:2,0) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (44:2,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 4 - (52:2,8) - Markup span - Gen - [
    • ] - SpanEditHandler;Accepts:None - (52:2,8) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Product: ] - SpanEditHandler;Accepts:Any - (56:2,12) - Tokens:2 - SyntaxKind.Text;[Product:]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 7 - (65:2,21) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (65:2,21) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [p.Name] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (66:2,22) - Tokens:3 - SyntaxKind.Identifier;[p]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Name]; - Tag block - Gen - 5 - (72:2,28) - Markup span - Gen - [
    • ] - SpanEditHandler;Accepts:None - (72:2,28) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:None - (77:2,33) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Code span - Gen - [ }LF] - SpanEditHandler;Accepts:None - (79:3,0) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.NewLine;[LF]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (86:4,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (90:4,4) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:None - (90:4,4) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[ul]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..95)::95 - [
      LF @foreach(var p in Products) {LF
    • Product: @p.Name
    • LF }LF
    ] + MarkupTextLiteral - [0..3)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [3..7)::4 - [
      ] + MarkupTextLiteral - [3..7)::4 - [
        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[ul]; + CloseAngle;[>]; + MarkupTextLiteral - [7..9)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [9..86)::77 + CSharpStatementLiteral - [9..13)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CSharpTransition - [13..14)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [14..44)::30 - [foreach(var p in Products) {LF] - Gen - SpanEditHandler;Accepts:Any + Keyword;[foreach]; + LeftParenthesis;[(]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[p]; + Whitespace;[ ]; + Keyword;[in]; + Whitespace;[ ]; + Identifier;[Products]; + RightParenthesis;[)]; + Whitespace;[ ]; + LeftBrace;[{]; + NewLine;[LF]; + MarkupBlock - [44..79)::35 + MarkupTextLiteral - [44..52)::8 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [52..56)::4 - [
      • ] + MarkupTextLiteral - [52..56)::4 - [
      • ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[li]; + CloseAngle;[>]; + MarkupTextLiteral - [56..65)::9 - [Product: ] - Gen - SpanEditHandler;Accepts:Any + Text;[Product:]; + Whitespace;[ ]; + CSharpCodeBlock - [65..72)::7 + CSharpImplicitExpression - [65..72)::7 + CSharpTransition - [65..66)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [66..72)::6 + CSharpCodeBlock - [66..72)::6 + CSharpExpressionLiteral - [66..72)::6 - [p.Name] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[p]; + Dot;[.]; + Identifier;[Name]; + MarkupTagBlock - [72..77)::5 - [
      • ] + MarkupTextLiteral - [72..77)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[li]; + CloseAngle;[>]; + MarkupTextLiteral - [77..79)::2 - [LF] - Gen - SpanEditHandler;Accepts:None + NewLine;[LF]; + CSharpStatementLiteral - [79..86)::7 - [ }LF] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + RightBrace;[}]; + NewLine;[LF]; + MarkupTextLiteral - [86..90)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [90..95)::5 - [
      ] + MarkupTextLiteral - [90..95)::5 - [
    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[ul]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseBlockDoesNotSwitchToCodeOnEmailAddressInText.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseBlockDoesNotSwitchToCodeOnEmailAddressInText.stree.txt index 5864dab53..8424ec0c6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseBlockDoesNotSwitchToCodeOnEmailAddressInText.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseBlockDoesNotSwitchToCodeOnEmailAddressInText.stree.txt @@ -1,14 +1,14 @@ -Markup block - Gen - 31 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [anurse@microsoft.com] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:1 - SyntaxKind.Text;[anurse@microsoft.com]; - Tag block - Gen - 6 - (25:0,25) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..31)::31 - [anurse@microsoft.com] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..25)::20 - [anurse@microsoft.com] - Gen - SpanEditHandler;Accepts:Any + Text;[anurse@microsoft.com]; + MarkupTagBlock - [25..31)::6 - [] + MarkupTextLiteral - [25..31)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentGivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentGivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt index 1f6642957..29d50e5a7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentGivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentGivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt @@ -1,67 +1,71 @@ -Markup block - Gen - 95 - (0:0,0) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 4 - (3:0,3) - Markup span - Gen - [
      ] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[ul]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 77 - (9:1,0) - Code span - Gen - [ ] - SpanEditHandler;Accepts:Any - (9:1,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (13:1,4) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [foreach(var p in Products) {LF] - SpanEditHandler;Accepts:Any - (14:1,5) - Tokens:13 - SyntaxKind.Keyword;[foreach]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[p]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[in]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[Products]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 35 - (44:2,0) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (44:2,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 4 - (52:2,8) - Markup span - Gen - [
    • ] - SpanEditHandler;Accepts:None - (52:2,8) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Product: ] - SpanEditHandler;Accepts:Any - (56:2,12) - Tokens:2 - SyntaxKind.Text;[Product:]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 7 - (65:2,21) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (65:2,21) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [p.Name] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (66:2,22) - Tokens:3 - SyntaxKind.Identifier;[p]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Name]; - Tag block - Gen - 5 - (72:2,28) - Markup span - Gen - [
    • ] - SpanEditHandler;Accepts:None - (72:2,28) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:None - (77:2,33) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Code span - Gen - [ }LF] - SpanEditHandler;Accepts:None - (79:3,0) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.HtmlTextLiteral - [ ] - [86..90) - FullWidth: 4 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (90:4,4) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:Any - (90:4,4) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[ul]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..95)::95 - [
      LF @foreach(var p in Products) {LF
    • Product: @p.Name
    • LF }LF
    ] + MarkupBlock - [0..95)::95 + MarkupTextLiteral - [0..3)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [3..7)::4 - [
      ] + MarkupTextLiteral - [3..7)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[ul]; + CloseAngle;[>]; + MarkupTextLiteral - [7..9)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [9..86)::77 + CSharpStatementLiteral - [9..13)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CSharpTransition - [13..14)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [14..44)::30 - [foreach(var p in Products) {LF] - Gen - SpanEditHandler;Accepts:Any + Keyword;[foreach]; + LeftParenthesis;[(]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[p]; + Whitespace;[ ]; + Keyword;[in]; + Whitespace;[ ]; + Identifier;[Products]; + RightParenthesis;[)]; + Whitespace;[ ]; + LeftBrace;[{]; + NewLine;[LF]; + MarkupBlock - [44..79)::35 + MarkupTextLiteral - [44..52)::8 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [52..56)::4 - [
      • ] + MarkupTextLiteral - [52..56)::4 - [
      • ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[li]; + CloseAngle;[>]; + MarkupTextLiteral - [56..65)::9 - [Product: ] - Gen - SpanEditHandler;Accepts:Any + Text;[Product:]; + Whitespace;[ ]; + CSharpCodeBlock - [65..72)::7 + CSharpImplicitExpression - [65..72)::7 + CSharpTransition - [65..66)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [66..72)::6 + CSharpCodeBlock - [66..72)::6 + CSharpExpressionLiteral - [66..72)::6 - [p.Name] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[p]; + Dot;[.]; + Identifier;[Name]; + MarkupTagBlock - [72..77)::5 - [
      • ] + MarkupTextLiteral - [72..77)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[li]; + CloseAngle;[>]; + MarkupTextLiteral - [77..79)::2 - [LF] - Gen - SpanEditHandler;Accepts:None + NewLine;[LF]; + CSharpStatementLiteral - [79..86)::7 - [ }LF] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + RightBrace;[}]; + NewLine;[LF]; + MarkupTextLiteral - [86..90)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [90..95)::5 - [
      ] + MarkupTextLiteral - [90..95)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[ul]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentTreatsPairsOfAtSignsAsEscapeSequence.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentTreatsPairsOfAtSignsAsEscapeSequence.stree.txt index 57f370a64..028e340b2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentTreatsPairsOfAtSignsAsEscapeSequence.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentTreatsPairsOfAtSignsAsEscapeSequence.stree.txt @@ -1,25 +1,29 @@ -Markup block - Gen - 19 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (6:0,6) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:1 - SyntaxKind.Transition;[@]; - Expression block - Gen - 4 - (9:0,9) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (10:0,10) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Tag block - Gen - 6 - (13:0,13) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..19)::19 - [@@@@@bar] + MarkupBlock - [0..19)::19 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupEphemeralTextLiteral - [5..6)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupTextLiteral - [6..7)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupEphemeralTextLiteral - [7..8)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupTextLiteral - [8..9)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + CSharpCodeBlock - [9..13)::4 + CSharpImplicitExpression - [9..13)::4 + CSharpTransition - [9..10)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [10..13)::3 + CSharpCodeBlock - [10..13)::3 + CSharpExpressionLiteral - [10..13)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[bar]; + MarkupTagBlock - [13..19)::6 - [] + MarkupTextLiteral - [13..19)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentTreatsTwoAtSignsAsEscapeSequence.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentTreatsTwoAtSignsAsEscapeSequence.stree.txt index cda907032..3430fb6ab 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentTreatsTwoAtSignsAsEscapeSequence.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParseDocumentTreatsTwoAtSignsAsEscapeSequence.stree.txt @@ -1,18 +1,18 @@ -Markup block - Gen - 16 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:1 - SyntaxKind.Transition;[@]; - SyntaxKind.HtmlTextLiteral - [@bar] - [6..10) - FullWidth: 4 - Slots: 1 - SyntaxKind.List - [@bar] - [6..10) - FullWidth: 4 - Slots: 2 - SyntaxKind.Transition;[@]; - SyntaxKind.Text;[bar]; - Tag block - Gen - 6 - (10:0,10) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..16)::16 - [@@bar] + MarkupBlock - [0..16)::16 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupEphemeralTextLiteral - [5..6)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupTextLiteral - [6..10)::4 - [@bar] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + Text;[bar]; + MarkupTagBlock - [10..16)::6 - [] + MarkupTextLiteral - [10..16)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParsesCodeWithinSingleLineMarkup.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParsesCodeWithinSingleLineMarkup.stree.txt index 462339f20..bfffda471 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParsesCodeWithinSingleLineMarkup.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/ParsesCodeWithinSingleLineMarkup.stree.txt @@ -1,20 +1,23 @@ -Markup block - Gen - 20 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [:] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:1 - SyntaxKind.Colon;[:]; - Markup span - Gen - [
  • Foo ] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.Text;[Foo]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 4 - (10:0,10) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [Bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (11:0,11) - Tokens:1 - SyntaxKind.Identifier;[Bar]; - Markup span - Gen - [ BazLF] - SpanEditHandler;Accepts:None - (14:0,14) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Baz]; - SyntaxKind.NewLine;[LF]; +MarkupBlock - [0..20)::20 - [@:
  • Foo @Bar BazLF] + MarkupTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:Any + Colon;[:]; + MarkupTextLiteral - [2..10)::8 - [
  • Foo ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[li]; + CloseAngle;[>]; + Text;[Foo]; + Whitespace;[ ]; + CSharpCodeBlock - [10..14)::4 + CSharpImplicitExpression - [10..14)::4 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [11..14)::3 + CSharpCodeBlock - [11..14)::3 + CSharpExpressionLiteral - [11..14)::3 - [Bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[Bar]; + MarkupTextLiteral - [14..20)::6 - [ BazLF] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Text;[Baz]; + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionBodyTreatsPairsOfAtSignsAsEscapeSequence.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionBodyTreatsPairsOfAtSignsAsEscapeSequence.stree.txt index 224296abc..cad355e40 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionBodyTreatsPairsOfAtSignsAsEscapeSequence.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionBodyTreatsPairsOfAtSignsAsEscapeSequence.stree.txt @@ -1,49 +1,56 @@ -Markup block - Gen - 36 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Directive block - Gen - 36 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Identifier;[section]; - Code span - Gen - [ ] - SpanEditHandler;Accepts:Whitespace - (8:0,8) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [Foo] - DirectiveTokenEditHandler;Accepts:NonWhitespace - (9:0,9) - Tokens:1 - SyntaxKind.Identifier;[Foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:AllWhitespace - (12:0,12) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - MetaCode span - Gen - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd - (13:0,13) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 21 - (14:0,14) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.Transition;[@]; - Expression block - Gen - 4 - (24:0,24) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K15 - (25:0,25) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Tag block - Gen - 6 - (28:0,28) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (28:0,28) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (35:0,35) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..36)::36 - [@section Foo { @@@@@bar }] + MarkupBlock - [0..36)::36 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..36)::36 + RazorDirective - [0..36)::36 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..36)::35 + RazorMetaCode - [1..8)::7 - Gen - SpanEditHandler;Accepts:None + Identifier;[section]; + CSharpCodeBlock - [8..36)::28 + CSharpStatementLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [9..12)::3 - [Foo] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[Foo]; + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [13..14)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd + LeftBrace;[{]; + MarkupBlock - [14..35)::21 + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [15..20)::5 - [] + MarkupTextLiteral - [15..20)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupEphemeralTextLiteral - [20..21)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupTextLiteral - [21..22)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupEphemeralTextLiteral - [22..23)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupTextLiteral - [23..24)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + CSharpCodeBlock - [24..28)::4 + CSharpImplicitExpression - [24..28)::4 + CSharpTransition - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [25..28)::3 + CSharpCodeBlock - [25..28)::3 + CSharpExpressionLiteral - [25..28)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K15 + Identifier;[bar]; + MarkupTagBlock - [28..34)::6 - [] + MarkupTextLiteral - [28..34)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + RazorMetaCode - [35..36)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [36..36)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionBodyTreatsTwoAtSignsAsEscapeSequence.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionBodyTreatsTwoAtSignsAsEscapeSequence.stree.txt index 170bbaa71..598e132dc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionBodyTreatsTwoAtSignsAsEscapeSequence.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionBodyTreatsTwoAtSignsAsEscapeSequence.stree.txt @@ -1,42 +1,45 @@ -Markup block - Gen - 33 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Directive block - Gen - 33 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Identifier;[section]; - Code span - Gen - [ ] - SpanEditHandler;Accepts:Whitespace - (8:0,8) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [Foo] - DirectiveTokenEditHandler;Accepts:NonWhitespace - (9:0,9) - Tokens:1 - SyntaxKind.Identifier;[Foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:AllWhitespace - (12:0,12) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - MetaCode span - Gen - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd - (13:0,13) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 18 - (14:0,14) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:1 - SyntaxKind.Transition;[@]; - SyntaxKind.HtmlTextLiteral - [@bar] - [21..25) - FullWidth: 4 - Slots: 1 - SyntaxKind.List - [@bar] - [21..25) - FullWidth: 4 - Slots: 2 - SyntaxKind.Transition;[@]; - SyntaxKind.Text;[bar]; - Tag block - Gen - 6 - (25:0,25) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (32:0,32) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..33)::33 - [@section Foo { @@bar }] + MarkupBlock - [0..33)::33 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..33)::33 + RazorDirective - [0..33)::33 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..33)::32 + RazorMetaCode - [1..8)::7 - Gen - SpanEditHandler;Accepts:None + Identifier;[section]; + CSharpCodeBlock - [8..33)::25 + CSharpStatementLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [9..12)::3 - [Foo] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[Foo]; + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [13..14)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd + LeftBrace;[{]; + MarkupBlock - [14..32)::18 + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [15..20)::5 - [] + MarkupTextLiteral - [15..20)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupEphemeralTextLiteral - [20..21)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupTextLiteral - [21..25)::4 - [@bar] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + Text;[bar]; + MarkupTagBlock - [25..31)::6 - [] + MarkupTextLiteral - [25..31)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [31..32)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + RazorMetaCode - [32..33)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionContextGivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionContextGivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt index 29ce9e379..974ca27d9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionContextGivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SectionContextGivesWhitespacePreceedingAtToCodeIfThereIsNoMarkupOnThatLine.stree.txt @@ -1,90 +1,97 @@ -Markup block - Gen - 127 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Directive block - Gen - 127 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Identifier;[section]; - Code span - Gen - [ ] - SpanEditHandler;Accepts:Whitespace - (8:0,8) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [foo] - DirectiveTokenEditHandler;Accepts:NonWhitespace - (9:0,9) - Tokens:1 - SyntaxKind.Identifier;[foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:AllWhitespace - (12:0,12) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - MetaCode span - Gen - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd - (13:0,13) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 112 - (14:0,14) - Markup span - Gen - [LF ] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:2 - SyntaxKind.NewLine;[LF]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 4 - (20:1,4) - Markup span - Gen - [
      ] - SpanEditHandler;Accepts:Any - (20:1,4) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[ul]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (24:1,8) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Statement block - Gen - 89 - (26:2,0) - Code span - Gen - [ ] - SpanEditHandler;Accepts:Any - (26:2,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (34:2,8) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [foreach(var p in Products) {LF] - SpanEditHandler;Accepts:Any - (35:2,9) - Tokens:13 - SyntaxKind.Keyword;[foreach]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[p]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[in]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[Products]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.NewLine;[LF]; - Markup block - Gen - 39 - (65:3,0) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (65:3,0) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 4 - (77:3,12) - Markup span - Gen - [
    • ] - SpanEditHandler;Accepts:None - (77:3,12) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Product: ] - SpanEditHandler;Accepts:Any - (81:3,16) - Tokens:2 - SyntaxKind.Text;[Product:]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 7 - (90:3,25) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (90:3,25) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [p.Name] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K15 - (91:3,26) - Tokens:3 - SyntaxKind.Identifier;[p]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Name]; - Tag block - Gen - 5 - (97:3,32) - Markup span - Gen - [
    • ] - SpanEditHandler;Accepts:None - (97:3,32) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[li]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:None - (102:3,37) - Tokens:1 - SyntaxKind.NewLine;[LF]; - Code span - Gen - [ }LF] - SpanEditHandler;Accepts:None - (104:4,0) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.HtmlTextLiteral - [ ] - [115..119) - FullWidth: 4 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (119:5,4) - Markup span - Gen - [
    ] - SpanEditHandler;Accepts:Any - (119:5,4) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[ul]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (124:5,9) - Tokens:1 - SyntaxKind.NewLine;[LF]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (126:6,0) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (127:6,1) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..127)::127 - [@section foo {LF
      LF @foreach(var p in Products) {LF
    • Product: @p.Name
    • LF }LF
    LF}] + MarkupBlock - [0..127)::127 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..127)::127 + RazorDirective - [0..127)::127 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..127)::126 + RazorMetaCode - [1..8)::7 - Gen - SpanEditHandler;Accepts:None + Identifier;[section]; + CSharpCodeBlock - [8..127)::119 + CSharpStatementLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [9..12)::3 - [foo] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[foo]; + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [13..14)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd + LeftBrace;[{]; + MarkupBlock - [14..126)::112 + MarkupTextLiteral - [14..20)::6 - [LF ] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + MarkupTagBlock - [20..24)::4 - [
      ] + MarkupTextLiteral - [20..24)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[ul]; + CloseAngle;[>]; + MarkupTextLiteral - [24..26)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [26..115)::89 + CSharpStatementLiteral - [26..34)::8 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CSharpTransition - [34..35)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [35..65)::30 - [foreach(var p in Products) {LF] - Gen - SpanEditHandler;Accepts:Any + Keyword;[foreach]; + LeftParenthesis;[(]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[p]; + Whitespace;[ ]; + Keyword;[in]; + Whitespace;[ ]; + Identifier;[Products]; + RightParenthesis;[)]; + Whitespace;[ ]; + LeftBrace;[{]; + NewLine;[LF]; + MarkupBlock - [65..104)::39 + MarkupTextLiteral - [65..77)::12 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [77..81)::4 - [
      • ] + MarkupTextLiteral - [77..81)::4 - [
      • ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[li]; + CloseAngle;[>]; + MarkupTextLiteral - [81..90)::9 - [Product: ] - Gen - SpanEditHandler;Accepts:Any + Text;[Product:]; + Whitespace;[ ]; + CSharpCodeBlock - [90..97)::7 + CSharpImplicitExpression - [90..97)::7 + CSharpTransition - [90..91)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [91..97)::6 + CSharpCodeBlock - [91..97)::6 + CSharpExpressionLiteral - [91..97)::6 - [p.Name] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K15 + Identifier;[p]; + Dot;[.]; + Identifier;[Name]; + MarkupTagBlock - [97..102)::5 - [
      • ] + MarkupTextLiteral - [97..102)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[li]; + CloseAngle;[>]; + MarkupTextLiteral - [102..104)::2 - [LF] - Gen - SpanEditHandler;Accepts:None + NewLine;[LF]; + CSharpStatementLiteral - [104..115)::11 - [ }LF] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + RightBrace;[}]; + NewLine;[LF]; + MarkupTextLiteral - [115..119)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [119..124)::5 - [
      ] + MarkupTextLiteral - [119..124)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[ul]; + CloseAngle;[>]; + MarkupTextLiteral - [124..126)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + RazorMetaCode - [126..127)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [127..127)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinCDataDeclaration.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinCDataDeclaration.stree.txt index 7d6a1d0be..fc45c62cb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinCDataDeclaration.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinCDataDeclaration.stree.txt @@ -1,32 +1,35 @@ -Markup block - Gen - 36 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ - 4 - (19:0,19) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (19:0,19) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (20:0,20) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Markup span - Gen - [ baz]]>] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:5 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; - SyntaxKind.RightBracket;[]]; - SyntaxKind.RightBracket;[]]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (30:0,30) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..36)::36 - [] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..19)::14 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Bang;[!]; + LeftBracket;[[]; + Text;[CDATA]; + LeftBracket;[[]; + Whitespace;[ ]; + Text;[foo]; + Whitespace;[ ]; + CSharpCodeBlock - [19..23)::4 + CSharpImplicitExpression - [19..23)::4 + CSharpTransition - [19..20)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [20..23)::3 + CSharpCodeBlock - [20..23)::3 + CSharpExpressionLiteral - [20..23)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[bar]; + MarkupTextLiteral - [23..30)::7 - [ baz]]>] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Text;[baz]; + RightBracket;[]]; + RightBracket;[]]; + CloseAngle;[>]; + MarkupTagBlock - [30..36)::6 - [] + MarkupTextLiteral - [30..36)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinComment.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinComment.stree.txt index 3d338b91e..df9f768f8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinComment.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinComment.stree.txt @@ -1,29 +1,32 @@ -Markup block - Gen - 24 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - HtmlComment block - Gen - 13 - (5:0,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (18:0,18) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (18:0,18) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..24)::24 - [] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupCommentBlock - [5..18)::13 + MarkupTextLiteral - [5..9)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTagBlock - [18..24)::6 - [] + MarkupTextLiteral - [18..24)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinSGMLDeclaration.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinSGMLDeclaration.stree.txt index db637d4d8..71abdc043 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinSGMLDeclaration.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinSGMLDeclaration.stree.txt @@ -1,28 +1,31 @@ -Markup block - Gen - 34 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ - 4 - (19:0,19) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (19:0,19) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (20:0,20) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Markup span - Gen - [ baz>] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (28:0,28) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (28:0,28) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..34)::34 - [] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..19)::14 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Bang;[!]; + Text;[DOCTYPE]; + Whitespace;[ ]; + Text;[foo]; + Whitespace;[ ]; + CSharpCodeBlock - [19..23)::4 + CSharpImplicitExpression - [19..23)::4 + CSharpTransition - [19..20)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [20..23)::3 + CSharpCodeBlock - [20..23)::3 + CSharpExpressionLiteral - [20..23)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[bar]; + MarkupTextLiteral - [23..28)::5 - [ baz>] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Text;[baz]; + CloseAngle;[>]; + MarkupTagBlock - [28..34)::6 - [] + MarkupTextLiteral - [28..34)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinXMLProcessingInstruction.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinXMLProcessingInstruction.stree.txt index ad0ff2da8..7944430ce 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinXMLProcessingInstruction.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SupportsCodeWithinXMLProcessingInstruction.stree.txt @@ -1,29 +1,32 @@ -Markup block - Gen - 31 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ - 4 - (15:0,15) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (16:0,16) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Markup span - Gen - [ baz?>] - SpanEditHandler;Accepts:None - (19:0,19) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[baz]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (25:0,25) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..31)::31 - [] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..15)::10 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + QuestionMark;[?]; + Text;[xml]; + Whitespace;[ ]; + Text;[foo]; + Whitespace;[ ]; + CSharpCodeBlock - [15..19)::4 + CSharpImplicitExpression - [15..19)::4 + CSharpTransition - [15..16)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [16..19)::3 + CSharpCodeBlock - [16..19)::3 + CSharpExpressionLiteral - [16..19)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[bar]; + MarkupTextLiteral - [19..25)::6 - [ baz?>] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Text;[baz]; + QuestionMark;[?]; + CloseAngle;[>]; + MarkupTagBlock - [25..31)::6 - [] + MarkupTextLiteral - [25..31)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredInAttributeValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredInAttributeValue.stree.txt index 1bdcbd4a0..d4fddc9dd 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredInAttributeValue.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredInAttributeValue.stree.txt @@ -1,23 +1,30 @@ -Markup block - Gen - 18 - (0:0,0) - Tag block - Gen - 18 - (0:0,0) - Markup span - Gen - [ - 11 - (4:0,4) - Markup span - Gen - [ bar="] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup block - Gen - 4 - (10:0,10) - Expression block - Gen - 4 - (10:0,10) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [baz] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (11:0,11) - Tokens:1 - SyntaxKind.Identifier;[baz]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [ />] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..18)::18 - [] + MarkupTagBlock - [0..18)::18 - [] + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + MarkupAttributeBlock - [4..15)::11 - [ bar="@baz"] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..8)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [10..14)::4 + MarkupDynamicAttributeValue - [10..14)::4 - [@baz] + GenericBlock - [10..14)::4 + CSharpCodeBlock - [10..14)::4 + CSharpImplicitExpression - [10..14)::4 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [11..14)::3 + CSharpCodeBlock - [11..14)::3 + CSharpExpressionLiteral - [11..14)::3 - [baz] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[baz]; + MarkupTextLiteral - [14..15)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [15..18)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredInTagContent.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredInTagContent.stree.txt index 176427add..f690ae4f8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredInTagContent.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredInTagContent.stree.txt @@ -1,37 +1,43 @@ -Markup block - Gen - 30 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:1 - SyntaxKind.Unknown;[]; - Expression block - Gen - 4 - (5:0,5) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (6:0,6) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Tag block - Gen - 5 - (9:0,9) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[baz]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.Unknown;[]; - Expression block - Gen - 4 - (14:0,14) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (14:0,14) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [boz] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (15:0,15) - Tokens:1 - SyntaxKind.Identifier;[boz]; - Tag block - Gen - 6 - (18:0,18) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (18:0,18) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[baz]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (24:0,24) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..30)::30 - [@bar@boz] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..5)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [5..9)::4 + CSharpImplicitExpression - [5..9)::4 + CSharpTransition - [5..6)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [6..9)::3 + CSharpCodeBlock - [6..9)::3 + CSharpExpressionLiteral - [6..9)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[bar]; + MarkupTagBlock - [9..14)::5 - [] + MarkupTextLiteral - [9..14)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[baz]; + CloseAngle;[>]; + MarkupTextLiteral - [14..14)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [14..18)::4 + CSharpImplicitExpression - [14..18)::4 + CSharpTransition - [14..15)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [15..18)::3 + CSharpCodeBlock - [15..18)::3 + CSharpExpressionLiteral - [15..18)::3 - [boz] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[boz]; + MarkupTagBlock - [18..24)::6 - [] + MarkupTextLiteral - [18..24)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[baz]; + CloseAngle;[>]; + MarkupTagBlock - [24..30)::6 - [] + MarkupTextLiteral - [24..30)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredMidTag.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredMidTag.stree.txt index 862c2bc35..7b3fe6acc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredMidTag.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesToCodeWhenSwapCharacterEncounteredMidTag.stree.txt @@ -1,15 +1,18 @@ -Markup block - Gen - 12 - (0:0,0) - Tag block - Gen - 12 - (0:0,0) - Markup span - Gen - [ - 4 - (5:0,5) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (6:0,6) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Markup span - Gen - [ />] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..12)::12 - [] + MarkupTagBlock - [0..12)::12 - [] + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + Whitespace;[ ]; + CSharpCodeBlock - [5..9)::4 + CSharpImplicitExpression - [5..9)::4 + CSharpTransition - [5..6)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [6..9)::3 + CSharpCodeBlock - [6..9)::3 + CSharpExpressionLiteral - [6..9)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[bar]; + MarkupTextLiteral - [9..12)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesWhenCharacterBeforeSwapIsNonAlphanumeric.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesWhenCharacterBeforeSwapIsNonAlphanumeric.stree.txt index 737ef38f0..2e38b7849 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesWhenCharacterBeforeSwapIsNonAlphanumeric.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/SwitchesWhenCharacterBeforeSwapIsNonAlphanumeric.stree.txt @@ -1,19 +1,22 @@ -Markup block - Gen - 13 - (0:0,0) - Tag block - Gen - 3 - (0:0,0) - Markup span - Gen - [

    ] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [foo#] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:1 - SyntaxKind.Text;[foo#]; - Expression block - Gen - 2 - (7:0,7) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (7:0,7) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [i] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (8:0,8) - Tokens:1 - SyntaxKind.Identifier;[i]; - Tag block - Gen - 4 - (9:0,9) - Markup span - Gen - [

    ] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..13)::13 - [

    foo#@i

    ] + MarkupTagBlock - [0..3)::3 - [

    ] + MarkupTextLiteral - [0..3)::3 - [

    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..7)::4 - [foo#] - Gen - SpanEditHandler;Accepts:Any + Text;[foo#]; + CSharpCodeBlock - [7..9)::2 + CSharpImplicitExpression - [7..9)::2 + CSharpTransition - [7..8)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [8..9)::1 + CSharpCodeBlock - [8..9)::1 + CSharpExpressionLiteral - [8..9)::1 - [i] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[i]; + MarkupTagBlock - [9..13)::4 - [

    ] + MarkupTextLiteral - [9..13)::4 - [

    ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/TreatsPairsOfAtSignsAsEscapeSequence.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/TreatsPairsOfAtSignsAsEscapeSequence.stree.txt index 1aa4b37fa..5d662de02 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/TreatsPairsOfAtSignsAsEscapeSequence.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/TreatsPairsOfAtSignsAsEscapeSequence.stree.txt @@ -1,25 +1,28 @@ -Markup block - Gen - 19 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (6:0,6) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:1 - SyntaxKind.Transition;[@]; - Expression block - Gen - 4 - (9:0,9) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (10:0,10) - Tokens:1 - SyntaxKind.Identifier;[bar]; - Tag block - Gen - 6 - (13:0,13) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (13:0,13) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..19)::19 - [@@@@@bar] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupEphemeralTextLiteral - [5..6)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupTextLiteral - [6..7)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupEphemeralTextLiteral - [7..8)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupTextLiteral - [8..9)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + CSharpCodeBlock - [9..13)::4 + CSharpImplicitExpression - [9..13)::4 + CSharpTransition - [9..10)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [10..13)::3 + CSharpCodeBlock - [10..13)::3 + CSharpExpressionLiteral - [10..13)::3 - [bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[bar]; + MarkupTagBlock - [13..19)::6 - [] + MarkupTextLiteral - [13..19)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/TreatsTwoAtSignsAsEscapeSequence.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/TreatsTwoAtSignsAsEscapeSequence.stree.txt index ddf76b2d1..0b73d7843 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/TreatsTwoAtSignsAsEscapeSequence.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlToCodeSwitchTest/TreatsTwoAtSignsAsEscapeSequence.stree.txt @@ -1,17 +1,17 @@ -Markup block - Gen - 16 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@bar] - SpanEditHandler;Accepts:Any - (6:0,6) - Tokens:2 - SyntaxKind.Transition;[@]; - SyntaxKind.Text;[bar]; - Tag block - Gen - 6 - (10:0,10) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +MarkupBlock - [0..16)::16 - [@@bar] + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupEphemeralTextLiteral - [5..6)::1 - [@] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + MarkupTextLiteral - [6..10)::4 - [@bar] - Gen - SpanEditHandler;Accepts:Any + Transition;[@]; + Text;[bar]; + MarkupTagBlock - [10..16)::6 - [] + MarkupTextLiteral - [10..16)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_DoesNotSpecialCase_VoidTags.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_DoesNotSpecialCase_VoidTags.cspans.txt new file mode 100644 index 000000000..d9ab213c7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_DoesNotSpecialCase_VoidTags.cspans.txt @@ -0,0 +1,5 @@ +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [22] ) +Markup span at (2:1,0 [7] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [7] ) +Markup span at (9:1,7 [3] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [22] ) +Markup span at (12:1,10 [8] ) (Accepts:Any) - Parent: Tag block at (12:1,10 [8] ) +Markup span at (20:1,18 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [22] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_DoesNotSpecialCase_VoidTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_DoesNotSpecialCase_VoidTags.stree.txt new file mode 100644 index 000000000..ba5f6c0b5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_DoesNotSpecialCase_VoidTags.stree.txt @@ -0,0 +1,20 @@ +RazorDocument - [0..22)::22 - [LFFooLF] + MarkupBlock - [0..22)::22 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [2..20)::18 + MarkupTagBlock - [2..9)::7 - [] + MarkupTextLiteral - [2..9)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTextLiteral - [9..12)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagBlock - [12..20)::8 - [] + MarkupTextLiteral - [12..20)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[input]; + CloseAngle;[>]; + MarkupTextLiteral - [20..22)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_EndTagsWithMissingStartTags.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_EndTagsWithMissingStartTags.cspans.txt new file mode 100644 index 000000000..017a6ad43 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_EndTagsWithMissingStartTags.cspans.txt @@ -0,0 +1,3 @@ +Markup span at (0:0,0 [5] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [13] ) +Markup span at (5:1,3 [6] ) (Accepts:Any) - Parent: Tag block at (5:1,3 [6] ) +Markup span at (11:1,9 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [13] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_EndTagsWithMissingStartTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_EndTagsWithMissingStartTags.stree.txt new file mode 100644 index 000000000..3fccc12be --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_EndTagsWithMissingStartTags.stree.txt @@ -0,0 +1,14 @@ +RazorDocument - [0..13)::13 - [LFFooLF] + MarkupBlock - [0..13)::13 + MarkupTextLiteral - [0..5)::5 - [LFFoo] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Text;[Foo]; + MarkupElement - [5..11)::6 + MarkupTagBlock - [5..11)::6 - [] + MarkupTextLiteral - [5..11)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [11..13)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_IncompleteTags.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_IncompleteTags.cspans.txt new file mode 100644 index 000000000..245badb59 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_IncompleteTags.cspans.txt @@ -0,0 +1,8 @@ +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [27] ) +Markup span at (2:1,0 [1] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [1] ) +Markup span at (3:1,1 [5] ) (Accepts:Any) - Parent: Tag block at (3:1,1 [5] ) +Markup span at (8:1,6 [4] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [27] ) +Markup span at (12:1,10 [2] ) (Accepts:Any) - Parent: Tag block at (12:1,10 [2] ) +Markup span at (14:1,12 [6] ) (Accepts:Any) - Parent: Tag block at (14:1,12 [6] ) +Markup span at (20:1,18 [5] ) (Accepts:Any) - Parent: Tag block at (20:1,18 [5] ) +Markup span at (25:1,23 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [27] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_IncompleteTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_IncompleteTags.stree.txt new file mode 100644 index 000000000..31f5bd670 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_IncompleteTags.stree.txt @@ -0,0 +1,36 @@ +RazorDocument - [0..27)::27 - [LF<
    >Foo< >LF] + MarkupBlock - [0..27)::27 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [2..3)::1 + MarkupTagBlock - [2..3)::1 - [<] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupElement - [3..20)::17 + MarkupTagBlock - [3..8)::5 - [
    ] + MarkupTextLiteral - [3..8)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [8..12)::4 - [>Foo] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + Text;[Foo]; + MarkupElement - [12..14)::2 + MarkupTagBlock - [12..14)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagBlock - [14..20)::6 - [
    ] + MarkupTextLiteral - [14..20)::6 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupElement - [20..25)::5 + MarkupTagBlock - [20..25)::5 - [< >] + MarkupTextLiteral - [20..25)::5 - [< >] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTextLiteral - [25..27)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MalformedTags_RecoversSuccessfully.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MalformedTags_RecoversSuccessfully.cspans.txt new file mode 100644 index 000000000..616773a7c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MalformedTags_RecoversSuccessfully.cspans.txt @@ -0,0 +1,7 @@ +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [35] ) +Markup span at (2:1,0 [5] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [5] ) +Markup span at (7:1,5 [7] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [35] ) +Markup span at (14:1,12 [7] ) (Accepts:Any) - Parent: Tag block at (14:1,12 [7] ) +Markup span at (21:1,19 [6] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [35] ) +Markup span at (27:1,25 [6] ) (Accepts:Any) - Parent: Tag block at (27:1,25 [6] ) +Markup span at (33:1,31 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [35] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MalformedTags_RecoversSuccessfully.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MalformedTags_RecoversSuccessfully.stree.txt new file mode 100644 index 000000000..9ea3d31fb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MalformedTags_RecoversSuccessfully.stree.txt @@ -0,0 +1,29 @@ +RazorDocument - [0..35)::35 - [LF
    contentfooter
    LF] + MarkupBlock - [0..35)::35 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [2..33)::31 + MarkupTagBlock - [2..7)::5 - [
    ] + MarkupTextLiteral - [2..7)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [7..14)::7 - [content] - Gen - SpanEditHandler;Accepts:Any + Text;[content]; + MarkupElement - [14..21)::7 + MarkupTagBlock - [14..21)::7 - [] + MarkupTextLiteral - [14..21)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[span]; + CloseAngle;[>]; + MarkupTextLiteral - [21..27)::6 - [footer] - Gen - SpanEditHandler;Accepts:Any + Text;[footer]; + MarkupTagBlock - [27..33)::6 - [
    ] + MarkupTextLiteral - [27..33)::6 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [33..35)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MisplacedEndTags_RecoversSuccessfully.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MisplacedEndTags_RecoversSuccessfully.cspans.txt new file mode 100644 index 000000000..d19254baf --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MisplacedEndTags_RecoversSuccessfully.cspans.txt @@ -0,0 +1,8 @@ +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [41] ) +Markup span at (2:1,0 [5] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [5] ) +Markup span at (7:1,5 [7] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [41] ) +Markup span at (14:1,12 [6] ) (Accepts:Any) - Parent: Tag block at (14:1,12 [6] ) +Markup span at (20:1,18 [6] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [41] ) +Markup span at (26:1,24 [6] ) (Accepts:Any) - Parent: Tag block at (26:1,24 [6] ) +Markup span at (32:1,30 [7] ) (Accepts:Any) - Parent: Tag block at (32:1,30 [7] ) +Markup span at (39:1,37 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [41] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MisplacedEndTags_RecoversSuccessfully.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MisplacedEndTags_RecoversSuccessfully.stree.txt new file mode 100644 index 000000000..459c938fb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_MisplacedEndTags_RecoversSuccessfully.stree.txt @@ -0,0 +1,35 @@ +RazorDocument - [0..41)::41 - [LF
    contentfooter
    LF] + MarkupBlock - [0..41)::41 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [2..32)::30 + MarkupTagBlock - [2..7)::5 - [
    ] + MarkupTextLiteral - [2..7)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [7..14)::7 - [content] - Gen - SpanEditHandler;Accepts:Any + Text;[content]; + MarkupElement - [14..26)::12 + MarkupTagBlock - [14..20)::6 - [] + MarkupTextLiteral - [14..20)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[span]; + CloseAngle;[>]; + MarkupTextLiteral - [20..26)::6 - [footer] - Gen - SpanEditHandler;Accepts:Any + Text;[footer]; + MarkupTagBlock - [26..32)::6 - [
    ] + MarkupTextLiteral - [26..32)::6 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupElement - [32..39)::7 + MarkupTagBlock - [32..39)::7 - [] + MarkupTextLiteral - [32..39)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[span]; + CloseAngle;[>]; + MarkupTextLiteral - [39..41)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_SelfClosingTags.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_SelfClosingTags.cspans.txt new file mode 100644 index 000000000..68917ae59 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_SelfClosingTags.cspans.txt @@ -0,0 +1,5 @@ +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [22] ) +Markup span at (2:1,0 [5] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [5] ) +Markup span at (7:1,5 [3] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [22] ) +Markup span at (10:1,8 [10] ) (Accepts:Any) - Parent: Tag block at (10:1,8 [10] ) +Markup span at (20:1,18 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [22] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_SelfClosingTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_SelfClosingTags.stree.txt new file mode 100644 index 000000000..d8fe2f2b5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_SelfClosingTags.stree.txt @@ -0,0 +1,23 @@ +RazorDocument - [0..22)::22 - [LF
    FooLF] + MarkupBlock - [0..22)::22 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [2..7)::5 + MarkupTagBlock - [2..7)::5 - [
    ] + MarkupTextLiteral - [2..7)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [7..10)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupElement - [10..20)::10 + MarkupTagBlock - [10..20)::10 - [] + MarkupTextLiteral - [10..20)::10 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[custom]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [20..22)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_StartTagsWithMissingEndTags.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_StartTagsWithMissingEndTags.cspans.txt new file mode 100644 index 000000000..23600f15f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_StartTagsWithMissingEndTags.cspans.txt @@ -0,0 +1,7 @@ +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [59] ) +Markup span at (2:1,0 [5] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [5] ) +Markup span at (7:1,5 [15] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [59] ) +Markup span at (22:3,4 [3] ) (Accepts:Any) - Parent: Tag block at (22:3,4 [3] ) +Markup span at (25:3,7 [23] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [59] ) +Markup span at (48:5,8 [9] ) (Accepts:Any) - Parent: Tag block at (48:5,8 [9] ) +Markup span at (57:5,17 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [59] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_StartTagsWithMissingEndTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_StartTagsWithMissingEndTags.stree.txt new file mode 100644 index 000000000..6ded51cb3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_StartTagsWithMissingEndTags.stree.txt @@ -0,0 +1,37 @@ +RazorDocument - [0..59)::59 - [LF
    LF FooLF

    LF BarLF LF] + MarkupBlock - [0..59)::59 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [2..59)::57 + MarkupTagBlock - [2..7)::5 - [

    ] + MarkupTextLiteral - [2..7)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [7..22)::15 - [LF FooLF ] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + Text;[Foo]; + NewLine;[LF]; + Whitespace;[ ]; + MarkupElement - [22..59)::37 + MarkupTagBlock - [22..25)::3 - [

    ] + MarkupTextLiteral - [22..25)::3 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [25..48)::23 - [LF BarLF ] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + Text;[Bar]; + NewLine;[LF]; + Whitespace;[ ]; + MarkupElement - [48..57)::9 + MarkupTagBlock - [48..57)::9 - [] + MarkupTextLiteral - [48..57)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [57..59)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTags.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTags.cspans.txt new file mode 100644 index 000000000..63be5f5b1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTags.cspans.txt @@ -0,0 +1,8 @@ +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [49] ) +Markup span at (2:1,0 [5] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [5] ) +Markup span at (7:1,5 [15] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [49] ) +Markup span at (22:3,4 [3] ) (Accepts:Any) - Parent: Tag block at (22:3,4 [3] ) +Markup span at (25:3,7 [3] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [49] ) +Markup span at (28:3,10 [4] ) (Accepts:Any) - Parent: Tag block at (28:3,10 [4] ) +Markup span at (32:3,14 [11] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [49] ) +Markup span at (43:5,0 [6] ) (Accepts:Any) - Parent: Tag block at (43:5,0 [6] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTags.stree.txt new file mode 100644 index 000000000..2ed5c377e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTags.stree.txt @@ -0,0 +1,41 @@ +RazorDocument - [0..49)::49 - [LF

    LF FooLF

    Bar

    LF BazLF
    ] + MarkupBlock - [0..49)::49 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [2..49)::47 + MarkupTagBlock - [2..7)::5 - [
    ] + MarkupTextLiteral - [2..7)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [7..22)::15 - [LF FooLF ] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + Text;[Foo]; + NewLine;[LF]; + Whitespace;[ ]; + MarkupElement - [22..32)::10 + MarkupTagBlock - [22..25)::3 - [

    ] + MarkupTextLiteral - [22..25)::3 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [25..28)::3 - [Bar] - Gen - SpanEditHandler;Accepts:Any + Text;[Bar]; + MarkupTagBlock - [28..32)::4 - [

    ] + MarkupTextLiteral - [28..32)::4 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [32..43)::11 - [LF BazLF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + Text;[Baz]; + NewLine;[LF]; + MarkupTagBlock - [43..49)::6 - [
    ] + MarkupTextLiteral - [43..49)::6 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTagsMixedWithCode.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTagsMixedWithCode.cspans.txt new file mode 100644 index 000000000..27e228bcc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTagsMixedWithCode.cspans.txt @@ -0,0 +1,16 @@ +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [66] ) +Markup span at (2:1,0 [5] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [5] ) +Markup span at (7:1,5 [15] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [66] ) +Markup span at (22:3,4 [3] ) (Accepts:Any) - Parent: Tag block at (22:3,4 [3] ) +Transition span at (25:3,7 [1] ) (Accepts:None) - Parent: Expression block at (25:3,7 [4] ) +Code span at (26:3,8 [3] ) (Accepts:NonWhitespace) - Parent: Expression block at (25:3,7 [4] ) +Markup span at (29:3,11 [4] ) (Accepts:Any) - Parent: Tag block at (29:3,11 [4] ) +Markup span at (33:3,15 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [66] ) +Code span at (35:4,0 [4] ) (Accepts:Any) - Parent: Statement block at (35:4,0 [21] ) +Transition span at (39:4,4 [1] ) (Accepts:None) - Parent: Statement block at (39:4,4 [17] ) +MetaCode span at (40:4,5 [1] ) (Accepts:None) - Parent: Statement block at (39:4,4 [17] ) +Code span at (41:4,6 [14] ) (Accepts:Any) - Parent: Statement block at (39:4,4 [17] ) +MetaCode span at (55:4,20 [1] ) (Accepts:None) - Parent: Statement block at (39:4,4 [17] ) +Markup span at (56:4,21 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [66] ) +Markup span at (58:5,0 [6] ) (Accepts:Any) - Parent: Tag block at (58:5,0 [6] ) +Markup span at (64:5,6 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [66] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTagsMixedWithCode.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTagsMixedWithCode.stree.txt new file mode 100644 index 000000000..e02aadd04 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidNestedTagsMixedWithCode.stree.txt @@ -0,0 +1,71 @@ +RazorDocument - [0..66)::66 - [LF
    LF FooLF

    @Bar

    LF @{ var x = Bar; }LF
    LF] + MarkupBlock - [0..66)::66 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [2..64)::62 + MarkupTagBlock - [2..7)::5 - [
    ] + MarkupTextLiteral - [2..7)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [7..22)::15 - [LF FooLF ] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + Text;[Foo]; + NewLine;[LF]; + Whitespace;[ ]; + MarkupElement - [22..33)::11 + MarkupTagBlock - [22..25)::3 - [

    ] + MarkupTextLiteral - [22..25)::3 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + CSharpCodeBlock - [25..29)::4 + CSharpImplicitExpression - [25..29)::4 + CSharpTransition - [25..26)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [26..29)::3 + CSharpCodeBlock - [26..29)::3 + CSharpExpressionLiteral - [26..29)::3 - [Bar] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[Bar]; + MarkupTagBlock - [29..33)::4 - [

    ] + MarkupTextLiteral - [29..33)::4 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [33..35)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [35..56)::21 + CSharpStatementLiteral - [35..39)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CSharpStatement - [39..56)::17 + CSharpTransition - [39..40)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [40..56)::16 + RazorMetaCode - [40..41)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [41..55)::14 + CSharpStatementLiteral - [41..55)::14 - [ var x = Bar; ] - Gen - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[x]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[Bar]; + Semicolon;[;]; + Whitespace;[ ]; + RazorMetaCode - [55..56)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupEphemeralTextLiteral - [56..58)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagBlock - [58..64)::6 - [
    ] + MarkupTextLiteral - [58..64)::6 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [64..66)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidTags.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidTags.cspans.txt new file mode 100644 index 000000000..cbaaaf377 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidTags.cspans.txt @@ -0,0 +1,9 @@ +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [30] ) +Markup span at (2:1,0 [5] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [5] ) +Markup span at (7:1,5 [3] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [30] ) +Markup span at (10:1,8 [6] ) (Accepts:Any) - Parent: Tag block at (10:1,8 [6] ) +Markup span at (16:1,14 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [30] ) +Markup span at (18:2,0 [3] ) (Accepts:Any) - Parent: Tag block at (18:2,0 [3] ) +Markup span at (21:2,3 [3] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [30] ) +Markup span at (24:2,6 [4] ) (Accepts:Any) - Parent: Tag block at (24:2,6 [4] ) +Markup span at (28:2,10 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [30] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidTags.stree.txt new file mode 100644 index 000000000..b728f69df --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/MarkupElementRewriterTest/Rewrites_ValidTags.stree.txt @@ -0,0 +1,36 @@ +RazorDocument - [0..30)::30 - [LF
    Foo
    LF

    Bar

    LF] + MarkupBlock - [0..30)::30 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [2..16)::14 + MarkupTagBlock - [2..7)::5 - [
    ] + MarkupTextLiteral - [2..7)::5 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [7..10)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagBlock - [10..16)::6 - [
    ] + MarkupTextLiteral - [10..16)::6 - [
    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [16..18)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupElement - [18..28)::10 + MarkupTagBlock - [18..21)::3 - [

    ] + MarkupTextLiteral - [18..21)::3 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [21..24)::3 - [Bar] - Gen - SpanEditHandler;Accepts:Any + Text;[Bar]; + MarkupTagBlock - [24..28)::4 - [

    ] + MarkupTextLiteral - [24..28)::4 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [28..30)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.stree.txt new file mode 100644 index 000000000..415af2bb3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.stree.txt @@ -0,0 +1,19 @@ +RazorDocument - [0..18)::18 - [@addTagHelper Foo"] + MarkupBlock - [0..18)::18 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..18)::18 + RazorDirective - [0..18)::18 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..18)::17 + RazorMetaCode - [1..13)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [13..18)::5 + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [14..18)::4 - [Foo"] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Identifier;[Foo]; + StringLiteral;["];RZ1000(17:0,17 [1] ) + MarkupTextLiteral - [18..18)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_InvalidLookupText_AddsError.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_InvalidLookupText_AddsError.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_InvalidLookupText_AddsError.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_InvalidLookupText_AddsError.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_InvalidLookupText_AddsError.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_InvalidLookupText_AddsError.stree.txt new file mode 100644 index 000000000..32eaa73ae --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_InvalidLookupText_AddsError.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..17)::17 - [@addTagHelper Foo] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..17)::17 + RazorDirective - [0..17)::17 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..17)::16 + RazorMetaCode - [1..13)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [13..17)::4 + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [14..17)::3 - [Foo] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Identifier;[Foo]; + MarkupTextLiteral - [17..17)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_NoValue_Invalid.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_NoValue_Invalid.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_NoValue_Invalid.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_NoValue_Invalid.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_NoValue_Invalid.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_NoValue_Invalid.stree.txt new file mode 100644 index 000000000..95e2ab911 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_NoValue_Invalid.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..16)::16 - [@addTagHelper ""] + MarkupBlock - [0..16)::16 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..16)::16 + RazorDirective - [0..16)::16 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..16)::15 + RazorMetaCode - [1..13)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [13..16)::3 + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [14..16)::2 - [""] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;[""]; + MarkupTextLiteral - [16..16)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_RequiresValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_RequiresValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_RequiresValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_RequiresValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_RequiresValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_RequiresValue.stree.txt new file mode 100644 index 000000000..660b83b42 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_RequiresValue.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..14)::14 - [@addTagHelper ] + MarkupBlock - [0..14)::14 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..14)::14 + RazorDirective - [0..14)::14 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..14)::13 + RazorMetaCode - [1..13)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [13..14)::1 + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [14..14)::0 - [] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Marker;[]; + MarkupTextLiteral - [14..14)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_SingleQuotes_AddsError.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SingleQuotes_AddsError.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_SingleQuotes_AddsError.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SingleQuotes_AddsError.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SingleQuotes_AddsError.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SingleQuotes_AddsError.stree.txt new file mode 100644 index 000000000..e5a43eb13 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SingleQuotes_AddsError.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..22)::22 - [@addTagHelper '*, Foo'] + MarkupBlock - [0..22)::22 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..22)::22 + RazorDirective - [0..22)::22 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..22)::21 + RazorMetaCode - [1..13)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [13..22)::9 + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [14..22)::8 - ['*, Foo'] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + CharacterLiteral;['*, Foo']; + MarkupTextLiteral - [22..22)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.stree.txt new file mode 100644 index 000000000..92b11e3ec --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..18)::18 - [@addTagHelper "Foo] + MarkupBlock - [0..18)::18 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..18)::18 + RazorDirective - [0..18)::18 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..18)::17 + RazorMetaCode - [1..13)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [13..18)::5 + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [14..18)::4 - ["Foo] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;["Foo];RZ1000(14:0,14 [1] ) + MarkupTextLiteral - [18..18)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_SupportsSpaces.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SupportsSpaces.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_SupportsSpaces.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SupportsSpaces.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SupportsSpaces.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SupportsSpaces.stree.txt new file mode 100644 index 000000000..a1d2a4c46 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_SupportsSpaces.stree.txt @@ -0,0 +1,22 @@ +RazorDocument - [0..32)::32 - [@addTagHelper Foo, Bar ] + MarkupBlock - [0..32)::32 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..32)::32 + RazorDirective - [0..32)::32 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..32)::31 + RazorMetaCode - [1..13)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [13..32)::19 + MarkupTextLiteral - [13..18)::5 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [18..32)::14 - [Foo, Bar ] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Identifier;[Foo]; + Comma;[,]; + Whitespace;[ ]; + Identifier;[Bar]; + Whitespace;[ ]; + MarkupTextLiteral - [32..32)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/AddTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.stree.txt new file mode 100644 index 000000000..45498ce53 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/AddTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..19)::19 - [@addTagHelper "Foo"] + MarkupBlock - [0..19)::19 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..19)::19 + RazorDirective - [0..19)::19 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..19)::18 + RazorMetaCode - [1..13)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [13..19)::6 + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [14..19)::5 - ["Foo"] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;["Foo"]; + MarkupTextLiteral - [19..19)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/BuiltInDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt similarity index 71% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/BuiltInDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt index 597dd7302..c6fee7635 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/BuiltInDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt @@ -1,7 +1,7 @@ Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [26] ) -Code span at (2:1,0 [2] ) (Accepts:Any) - Parent: Directive block at (2:1,0 [24] ) -Transition span at (4:1,2 [1] ) (Accepts:None) - Parent: Directive block at (2:1,0 [24] ) -MetaCode span at (5:1,3 [12] ) (Accepts:None) - Parent: Directive block at (2:1,0 [24] ) -Markup span at (17:1,15 [1] ) (Accepts:None) - Parent: Directive block at (2:1,0 [24] ) -Code span at (18:1,16 [8] ) (Accepts:AnyExceptNewline) - Parent: Directive block at (2:1,0 [24] ) +Code span at (2:1,0 [2] ) (Accepts:Any) - Parent: Statement block at (2:1,0 [24] ) +Transition span at (4:1,2 [1] ) (Accepts:None) - Parent: Directive block at (4:1,2 [22] ) +MetaCode span at (5:1,3 [12] ) (Accepts:None) - Parent: Directive block at (4:1,2 [22] ) +Markup span at (17:1,15 [1] ) (Accepts:None) - Parent: Directive block at (4:1,2 [22] ) +Code span at (18:1,16 [8] ) (Accepts:AnyExceptNewline) - Parent: Directive block at (4:1,2 [22] ) Markup span at (26:1,24 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [26] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.stree.txt new file mode 100644 index 000000000..adbdb50b0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.stree.txt @@ -0,0 +1,20 @@ +RazorDocument - [0..26)::26 - [LF @addTagHelper "*, Foo"] + MarkupBlock - [0..26)::26 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [2..26)::24 + CSharpStatementLiteral - [2..4)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + RazorDirective - [4..26)::22 + CSharpTransition - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [5..26)::21 + RazorMetaCode - [5..17)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [17..26)::9 + MarkupTextLiteral - [17..18)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [18..26)::8 - ["*, Foo"] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;["*, Foo"]; + MarkupTextLiteral - [26..26)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/BuiltInDirectiveErrorsIfNotAtStartOfLine.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveErrorsIfNotAtStartOfLine.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/BuiltInDirectiveErrorsIfNotAtStartOfLine.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveErrorsIfNotAtStartOfLine.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveErrorsIfNotAtStartOfLine.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveErrorsIfNotAtStartOfLine.stree.txt new file mode 100644 index 000000000..1e622480b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/BuiltInDirectiveErrorsIfNotAtStartOfLine.stree.txt @@ -0,0 +1,20 @@ +RazorDocument - [0..28)::28 - [{ @addTagHelper "*, Foo"LF}] + MarkupBlock - [0..28)::28 + MarkupTextLiteral - [0..3)::3 - [{ ] - Gen - SpanEditHandler;Accepts:Any + Text;[{]; + Whitespace;[ ]; + CSharpCodeBlock - [3..27)::24 + RazorDirective - [3..27)::24 + CSharpTransition - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [4..27)::23 + RazorMetaCode - [4..16)::12 - Gen - SpanEditHandler;Accepts:None + Identifier;[addTagHelper]; + CSharpCodeBlock - [16..27)::11 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..27)::10 - ["*, Foo"LF] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;["*, Foo"]; + NewLine;[LF]; + MarkupTextLiteral - [27..28)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_AllowsNullableTypes.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsNullableTypes.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_AllowsNullableTypes.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsNullableTypes.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsNullableTypes.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsNullableTypes.stree.txt new file mode 100644 index 000000000..682938e37 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsNullableTypes.stree.txt @@ -0,0 +1,80 @@ +RazorDocument - [0..176)::176 - [@custom string? string?[] global::System.Int32? KeyValuePair? KeyValuePair?[] global::System.Collections.Generic.KeyValuePair?[]] + MarkupBlock - [0..176)::176 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..176)::176 + RazorDirective - [0..176)::176 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..176)::175 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..176)::169 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..15)::7 - [string?] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Keyword;[string]; + QuestionMark;[?]; + CSharpStatementLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [16..25)::9 - [string?[]] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Keyword;[string]; + QuestionMark;[?]; + LeftBracket;[[]; + RightBracket;[]]; + CSharpStatementLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [26..47)::21 - [global::System.Int32?] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[global]; + DoubleColon;[::]; + Identifier;[System]; + Dot;[.]; + Identifier;[Int32]; + QuestionMark;[?]; + CSharpStatementLiteral - [47..48)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [48..77)::29 - [KeyValuePair?] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[KeyValuePair]; + LessThan;[<]; + Keyword;[string]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[string]; + GreaterThan;[>]; + QuestionMark;[?]; + CSharpStatementLiteral - [77..78)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [78..109)::31 - [KeyValuePair?[]] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[KeyValuePair]; + LessThan;[<]; + Keyword;[string]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[string]; + GreaterThan;[>]; + QuestionMark;[?]; + LeftBracket;[[]; + RightBracket;[]]; + CSharpStatementLiteral - [109..110)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [110..176)::66 - [global::System.Collections.Generic.KeyValuePair?[]] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[global]; + DoubleColon;[::]; + Identifier;[System]; + Dot;[.]; + Identifier;[Collections]; + Dot;[.]; + Identifier;[Generic]; + Dot;[.]; + Identifier;[KeyValuePair]; + LessThan;[<]; + Keyword;[string]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[string]; + GreaterThan;[>]; + QuestionMark;[?]; + LeftBracket;[[]; + RightBracket;[]]; + MarkupTextLiteral - [176..176)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_AllowsTupleTypes.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_AllowsTupleTypes.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes.stree.txt new file mode 100644 index 000000000..06b4a8b12 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes.stree.txt @@ -0,0 +1,164 @@ +RazorDocument - [0..246)::246 - [@custom (bool, int) (int aa, string bb)? ( int? q , bool w ) ( int ? q, bool ?w ,(long ? [])) ? (List<(int, string)?> aa, string bb) (string ss, (int u, List<(string, int)> k, (Char c, bool b, List l)), global::System.Int32[] a)] + MarkupBlock - [0..246)::246 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..246)::246 + RazorDirective - [0..246)::246 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..246)::245 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..246)::239 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..19)::11 - [(bool, int)] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + LeftParenthesis;[(]; + Keyword;[bool]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[int]; + RightParenthesis;[)]; + CSharpStatementLiteral - [19..20)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [20..40)::20 - [(int aa, string bb)?] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + LeftParenthesis;[(]; + Keyword;[int]; + Whitespace;[ ]; + Identifier;[aa]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[string]; + Whitespace;[ ]; + Identifier;[bb]; + RightParenthesis;[)]; + QuestionMark;[?]; + CSharpStatementLiteral - [40..41)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [41..70)::29 - [( int? q , bool w )] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + LeftParenthesis;[(]; + Whitespace;[ ]; + Keyword;[int]; + QuestionMark;[?]; + Whitespace;[ ]; + Identifier;[q]; + Whitespace;[ ]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[bool]; + Whitespace;[ ]; + Identifier;[w]; + Whitespace;[ ]; + RightParenthesis;[)]; + CSharpStatementLiteral - [70..71)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [71..108)::37 - [( int ? q, bool ?w ,(long ? [])) ?] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + LeftParenthesis;[(]; + Whitespace;[ ]; + Keyword;[int]; + Whitespace;[ ]; + QuestionMark;[?]; + Whitespace;[ ]; + Identifier;[q]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[bool]; + Whitespace;[ ]; + QuestionMark;[?]; + Identifier;[w]; + Whitespace;[ ]; + Comma;[,]; + LeftParenthesis;[(]; + Keyword;[long]; + Whitespace;[ ]; + QuestionMark;[?]; + Whitespace;[ ]; + LeftBracket;[[]; + RightBracket;[]]; + RightParenthesis;[)]; + RightParenthesis;[)]; + Whitespace;[ ]; + QuestionMark;[?]; + CSharpStatementLiteral - [108..109)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [109..145)::36 - [(List<(int, string)?> aa, string bb)] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + LeftParenthesis;[(]; + Identifier;[List]; + LessThan;[<]; + LeftParenthesis;[(]; + Keyword;[int]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[string]; + RightParenthesis;[)]; + QuestionMark;[?]; + GreaterThan;[>]; + Whitespace;[ ]; + Identifier;[aa]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[string]; + Whitespace;[ ]; + Identifier;[bb]; + RightParenthesis;[)]; + CSharpStatementLiteral - [145..146)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [146..246)::100 - [(string ss, (int u, List<(string, int)> k, (Char c, bool b, List l)), global::System.Int32[] a)] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + LeftParenthesis;[(]; + Keyword;[string]; + Whitespace;[ ]; + Identifier;[ss]; + Comma;[,]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Keyword;[int]; + Whitespace;[ ]; + Identifier;[u]; + Comma;[,]; + Whitespace;[ ]; + Identifier;[List]; + LessThan;[<]; + LeftParenthesis;[(]; + Keyword;[string]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[int]; + RightParenthesis;[)]; + GreaterThan;[>]; + Whitespace;[ ]; + Identifier;[k]; + Comma;[,]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[Char]; + Whitespace;[ ]; + Identifier;[c]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[bool]; + Whitespace;[ ]; + Identifier;[b]; + Comma;[,]; + Whitespace;[ ]; + Identifier;[List]; + LessThan;[<]; + Keyword;[int]; + GreaterThan;[>]; + Whitespace;[ ]; + Identifier;[l]; + RightParenthesis;[)]; + RightParenthesis;[)]; + Comma;[,]; + Whitespace;[ ]; + Identifier;[global]; + DoubleColon;[::]; + Identifier;[System]; + Dot;[.]; + Identifier;[Int32]; + LeftBracket;[[]; + RightBracket;[]]; + Whitespace;[ ]; + Identifier;[a]; + RightParenthesis;[)]; + MarkupTextLiteral - [246..246)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_AllowsTupleTypes_IgnoresTrailingWhitespace.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes_IgnoresTrailingWhitespace.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_AllowsTupleTypes_IgnoresTrailingWhitespace.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes_IgnoresTrailingWhitespace.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes_IgnoresTrailingWhitespace.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes_IgnoresTrailingWhitespace.stree.txt new file mode 100644 index 000000000..0a40996b1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsTupleTypes_IgnoresTrailingWhitespace.stree.txt @@ -0,0 +1,26 @@ +RazorDocument - [0..23)::23 - [@custom (bool, int?) ] + MarkupBlock - [0..23)::23 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..23)::23 + RazorDirective - [0..23)::23 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..23)::22 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..23)::16 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..20)::12 - [(bool, int?)] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + LeftParenthesis;[(]; + Keyword;[bool]; + Comma;[,]; + Whitespace;[ ]; + Keyword;[int]; + QuestionMark;[?]; + RightParenthesis;[)]; + UnclassifiedTextLiteral - [20..23)::3 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [23..23)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_AllowsWhiteSpaceAroundTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsWhiteSpaceAroundTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_AllowsWhiteSpaceAroundTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsWhiteSpaceAroundTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsWhiteSpaceAroundTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsWhiteSpaceAroundTokens.stree.txt new file mode 100644 index 000000000..28010928f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_AllowsWhiteSpaceAroundTokens.stree.txt @@ -0,0 +1,30 @@ +RazorDocument - [0..67)::67 - [@custom System.Text.Encoding.ASCIIEncoding Some_Member ] + MarkupBlock - [0..67)::67 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..67)::67 + RazorDirective - [0..67)::67 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..67)::66 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..67)::60 + CSharpStatementLiteral - [7..11)::4 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [11..45)::34 - [System.Text.Encoding.ASCIIEncoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[ASCIIEncoding]; + CSharpStatementLiteral - [45..52)::7 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [52..63)::11 - [Some_Member] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[Some_Member]; + UnclassifiedTextLiteral - [63..67)::4 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [67..67)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_CanHandleEOFIncompleteNamespaceTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFIncompleteNamespaceTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_CanHandleEOFIncompleteNamespaceTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFIncompleteNamespaceTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFIncompleteNamespaceTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFIncompleteNamespaceTokens.stree.txt new file mode 100644 index 000000000..b562a5c65 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFIncompleteNamespaceTokens.stree.txt @@ -0,0 +1,16 @@ +RazorDocument - [0..15)::15 - [@custom System.] + MarkupBlock - [0..15)::15 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..15)::7 - [System.] - Gen - SpanEditHandler;Accepts:Any + Text;[System.]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_CanHandleEOFInvalidNamespaceTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFInvalidNamespaceTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_CanHandleEOFInvalidNamespaceTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFInvalidNamespaceTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFInvalidNamespaceTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFInvalidNamespaceTokens.stree.txt new file mode 100644 index 000000000..0659f995d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleEOFInvalidNamespaceTokens.stree.txt @@ -0,0 +1,19 @@ +RazorDocument - [0..15)::15 - [@custom System<] + MarkupBlock - [0..15)::15 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..14)::6 - [System] - Gen - SpanEditHandler;Accepts:Any + Text;[System]; + MarkupTagBlock - [14..15)::1 - [<] + MarkupTextLiteral - [14..15)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_CanHandleIncompleteNamespaceTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleIncompleteNamespaceTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_CanHandleIncompleteNamespaceTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleIncompleteNamespaceTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleIncompleteNamespaceTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleIncompleteNamespaceTokens.stree.txt new file mode 100644 index 000000000..9332b0ea5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleIncompleteNamespaceTokens.stree.txt @@ -0,0 +1,17 @@ +RazorDocument - [0..17)::17 - [@custom System.LF] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..17)::9 - [System.LF] - Gen - SpanEditHandler;Accepts:Any + Text;[System.]; + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_CanHandleInvalidNamespaceTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleInvalidNamespaceTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_CanHandleInvalidNamespaceTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleInvalidNamespaceTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleInvalidNamespaceTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleInvalidNamespaceTokens.stree.txt new file mode 100644 index 000000000..a3a74887d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_CanHandleInvalidNamespaceTokens.stree.txt @@ -0,0 +1,20 @@ +RazorDocument - [0..17)::17 - [@custom System - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..14)::6 - [System] - Gen - SpanEditHandler;Accepts:Any + Text;[System]; + MarkupTagBlock - [14..17)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsExtraContentAfterDirective.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsExtraContentAfterDirective.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsExtraContentAfterDirective.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsExtraContentAfterDirective.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsExtraContentAfterDirective.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsExtraContentAfterDirective.stree.txt new file mode 100644 index 000000000..a37d63f5f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsExtraContentAfterDirective.stree.txt @@ -0,0 +1,22 @@ +RazorDocument - [0..23)::23 - [@custom "hello" "world"] + MarkupBlock - [0..23)::23 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..16)::16 + RazorDirective - [0..16)::16 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..16)::15 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..16)::9 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..15)::7 - ["hello"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["hello"]; + UnclassifiedTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [16..23)::7 - ["world"] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + Text;[world]; + DoubleQuote;["]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsForInvalidMemberTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsForInvalidMemberTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsForInvalidMemberTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsForInvalidMemberTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsForInvalidMemberTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsForInvalidMemberTokens.stree.txt new file mode 100644 index 000000000..82490134b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsForInvalidMemberTokens.stree.txt @@ -0,0 +1,16 @@ +RazorDocument - [0..20)::20 - [@custom -Some_Member] + MarkupBlock - [0..20)::20 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..20)::12 - [-Some_Member] - Gen - SpanEditHandler;Accepts:Any + Text;[-Some_Member]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsWhenEOFBeforeDirectiveBlockStart.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenEOFBeforeDirectiveBlockStart.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsWhenEOFBeforeDirectiveBlockStart.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenEOFBeforeDirectiveBlockStart.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenEOFBeforeDirectiveBlockStart.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenEOFBeforeDirectiveBlockStart.stree.txt new file mode 100644 index 000000000..5ffa6339c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenEOFBeforeDirectiveBlockStart.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..15)::15 - [@custom "Hello"] + MarkupBlock - [0..15)::15 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..15)::15 + RazorDirective - [0..15)::15 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..15)::14 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..15)::8 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..15)::7 - ["Hello"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["Hello"]; + MarkupTextLiteral - [15..15)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsWhenExtraContentBeforeBlockStart.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenExtraContentBeforeBlockStart.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsWhenExtraContentBeforeBlockStart.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenExtraContentBeforeBlockStart.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenExtraContentBeforeBlockStart.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenExtraContentBeforeBlockStart.stree.txt new file mode 100644 index 000000000..51eff4da6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenExtraContentBeforeBlockStart.stree.txt @@ -0,0 +1,28 @@ +RazorDocument - [0..39)::39 - [@custom "Hello" World { foo(); bar(); }] + MarkupBlock - [0..39)::39 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..16)::16 + RazorDirective - [0..16)::16 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..16)::15 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..16)::9 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..15)::7 - ["Hello"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["Hello"]; + MarkupTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + MarkupTextLiteral - [16..39)::23 - [World { foo(); bar(); }] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + Whitespace;[ ]; + Text;[{]; + Whitespace;[ ]; + Text;[foo();]; + Whitespace;[ ]; + Text;[bar();]; + Whitespace;[ ]; + Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsWhenMissingEndBrace.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenMissingEndBrace.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_ErrorsWhenMissingEndBrace.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenMissingEndBrace.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenMissingEndBrace.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenMissingEndBrace.stree.txt new file mode 100644 index 000000000..f1b280198 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_ErrorsWhenMissingEndBrace.stree.txt @@ -0,0 +1,25 @@ +RazorDocument - [0..17)::17 - [@custom "Hello" {] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..17)::17 + RazorDirective - [0..17)::17 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..17)::16 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..17)::10 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..15)::7 - ["Hello"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["Hello"]; + MarkupTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [16..17)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[}];AtEnd + LeftBrace;[{]; + CSharpCodeBlock - [17..17)::0 + CSharpStatementLiteral - [17..17)::0 - [] - Gen - CodeBlockEditHandler;Accepts:Any;CodeBlock + Marker;[]; + RazorMetaCode - [17..17)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_FileScopedMultipleOccurring_CanHaveDuplicates.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedMultipleOccurring_CanHaveDuplicates.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_FileScopedMultipleOccurring_CanHaveDuplicates.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedMultipleOccurring_CanHaveDuplicates.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedMultipleOccurring_CanHaveDuplicates.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedMultipleOccurring_CanHaveDuplicates.stree.txt new file mode 100644 index 000000000..8751ac2c3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedMultipleOccurring_CanHaveDuplicates.stree.txt @@ -0,0 +1,46 @@ +RazorDocument - [0..85)::85 - [@custom System.Text.Encoding.ASCIIEncodingLF@custom System.Text.Encoding.UTF8Encoding] + MarkupBlock - [0..85)::85 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..44)::44 + RazorDirective - [0..44)::44 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..44)::43 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..44)::37 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..42)::34 - [System.Text.Encoding.ASCIIEncoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[ASCIIEncoding]; + MarkupEphemeralTextLiteral - [42..44)::2 - [LF] - Gen - SpanEditHandler;Accepts:Whitespace + NewLine;[LF]; + MarkupTextLiteral - [44..44)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [44..85)::41 + RazorDirective - [44..85)::41 + CSharpTransition - [44..45)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [45..85)::40 + RazorMetaCode - [45..51)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [51..85)::34 + CSharpStatementLiteral - [51..52)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [52..85)::33 - [System.Text.Encoding.UTF8Encoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[UTF8Encoding]; + MarkupTextLiteral - [85..85)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_FileScopedSinglyOccurring_ErrorsIfDuplicate.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedSinglyOccurring_ErrorsIfDuplicate.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_FileScopedSinglyOccurring_ErrorsIfDuplicate.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedSinglyOccurring_ErrorsIfDuplicate.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedSinglyOccurring_ErrorsIfDuplicate.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedSinglyOccurring_ErrorsIfDuplicate.stree.txt new file mode 100644 index 000000000..8751ac2c3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScopedSinglyOccurring_ErrorsIfDuplicate.stree.txt @@ -0,0 +1,46 @@ +RazorDocument - [0..85)::85 - [@custom System.Text.Encoding.ASCIIEncodingLF@custom System.Text.Encoding.UTF8Encoding] + MarkupBlock - [0..85)::85 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..44)::44 + RazorDirective - [0..44)::44 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..44)::43 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..44)::37 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..42)::34 - [System.Text.Encoding.ASCIIEncoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[ASCIIEncoding]; + MarkupEphemeralTextLiteral - [42..44)::2 - [LF] - Gen - SpanEditHandler;Accepts:Whitespace + NewLine;[LF]; + MarkupTextLiteral - [44..44)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [44..85)::41 + RazorDirective - [44..85)::41 + CSharpTransition - [44..45)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [45..85)::40 + RazorMetaCode - [45..51)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [51..85)::34 + CSharpStatementLiteral - [51..52)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [52..85)::33 - [System.Text.Encoding.UTF8Encoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[UTF8Encoding]; + MarkupTextLiteral - [85..85)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherDirectives.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherDirectives.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherDirectives.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherDirectives.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherDirectives.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherDirectives.stree.txt new file mode 100644 index 000000000..3986ba160 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherDirectives.stree.txt @@ -0,0 +1,40 @@ +RazorDocument - [0..59)::59 - [@custom System.Text.Encoding.ASCIIEncodingLF@something Else] + MarkupBlock - [0..59)::59 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..44)::44 + RazorDirective - [0..44)::44 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..44)::43 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..44)::37 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..42)::34 - [System.Text.Encoding.ASCIIEncoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[ASCIIEncoding]; + MarkupEphemeralTextLiteral - [42..44)::2 - [LF] - Gen - SpanEditHandler;Accepts:Whitespace + NewLine;[LF]; + MarkupTextLiteral - [44..44)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [44..59)::15 + RazorDirective - [44..59)::15 + CSharpTransition - [44..45)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [45..59)::14 + RazorMetaCode - [45..54)::9 - Gen - SpanEditHandler;Accepts:None + Identifier;[something]; + CSharpCodeBlock - [54..59)::5 + CSharpStatementLiteral - [54..55)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [55..59)::4 - [Else] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[Else]; + MarkupTextLiteral - [59..59)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherWhiteSpaceCommentsAndDirectives.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherWhiteSpaceCommentsAndDirectives.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherWhiteSpaceCommentsAndDirectives.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherWhiteSpaceCommentsAndDirectives.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherWhiteSpaceCommentsAndDirectives.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherWhiteSpaceCommentsAndDirectives.stree.txt new file mode 100644 index 000000000..9227d5824 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_FileScoped_CanBeBeneathOtherWhiteSpaceCommentsAndDirectives.stree.txt @@ -0,0 +1,67 @@ +RazorDocument - [0..130)::130 - [@* There are two directives beneath this *@LF@custom System.Text.Encoding.ASCIIEncodingLFLF@something ElseLFLF

    This is extra

    ] + MarkupBlock - [0..130)::130 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorComment - [0..43)::43 + RazorCommentTransition;[@]; + RazorCommentStar;[*]; + RazorCommentLiteral;[ There are two directives beneath this ]; + RazorCommentStar;[*]; + RazorCommentTransition;[@]; + MarkupTextLiteral - [43..45)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [45..89)::44 + RazorDirective - [45..89)::44 + CSharpTransition - [45..46)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [46..89)::43 + RazorMetaCode - [46..52)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [52..89)::37 + CSharpStatementLiteral - [52..53)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [53..87)::34 - [System.Text.Encoding.ASCIIEncoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[ASCIIEncoding]; + MarkupEphemeralTextLiteral - [87..89)::2 - [LF] - Gen - SpanEditHandler;Accepts:Whitespace + NewLine;[LF]; + MarkupTextLiteral - [89..91)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [91..108)::17 + RazorDirective - [91..108)::17 + CSharpTransition - [91..92)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [92..108)::16 + RazorMetaCode - [92..101)::9 - Gen - SpanEditHandler;Accepts:None + Identifier;[something]; + CSharpCodeBlock - [101..108)::7 + CSharpStatementLiteral - [101..102)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [102..106)::4 - [Else] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[Else]; + MarkupEphemeralTextLiteral - [106..108)::2 - [LF] - Gen - SpanEditHandler;Accepts:Whitespace + NewLine;[LF]; + MarkupTextLiteral - [108..110)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagBlock - [110..113)::3 - [

    ] + MarkupTextLiteral - [110..113)::3 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [113..126)::13 - [This is extra] - Gen - SpanEditHandler;Accepts:Any + Text;[This]; + Whitespace;[ ]; + Text;[is]; + Whitespace;[ ]; + Text;[extra]; + MarkupTagBlock - [126..130)::4 - [

    ] + MarkupTextLiteral - [126..130)::4 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_NoErrorsSemicolonAfterDirective.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_NoErrorsSemicolonAfterDirective.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_NoErrorsSemicolonAfterDirective.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_NoErrorsSemicolonAfterDirective.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_NoErrorsSemicolonAfterDirective.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_NoErrorsSemicolonAfterDirective.stree.txt new file mode 100644 index 000000000..e1a67c9d7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_NoErrorsSemicolonAfterDirective.stree.txt @@ -0,0 +1,24 @@ +RazorDocument - [0..19)::19 - [@custom "hello" ; ] + MarkupBlock - [0..19)::19 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..19)::19 + RazorDirective - [0..19)::19 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..19)::18 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..19)::12 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..15)::7 - ["hello"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["hello"]; + UnclassifiedTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + RazorMetaCode - [16..17)::1 - Gen - SpanEditHandler;Accepts:Whitespace + Semicolon;[;]; + MarkupEphemeralTextLiteral - [17..19)::2 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [19..19)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForNonStringValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForNonStringValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForNonStringValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForNonStringValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForNonStringValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForNonStringValue.stree.txt new file mode 100644 index 000000000..84d942c66 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForNonStringValue.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..14)::14 - [@custom {foo?}] + MarkupBlock - [0..14)::14 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..14)::6 - [{foo?}] - Gen - SpanEditHandler;Accepts:Any + Text;[{foo]; + QuestionMark;[?]; + Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForPartialQuotedValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForPartialQuotedValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForPartialQuotedValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForPartialQuotedValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForPartialQuotedValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForPartialQuotedValue.stree.txt new file mode 100644 index 000000000..0767483d8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForPartialQuotedValue.stree.txt @@ -0,0 +1,17 @@ +RazorDocument - [0..16)::16 - [@custom AString"] + MarkupBlock - [0..16)::16 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [AString"] - Gen - SpanEditHandler;Accepts:Any + Text;[AString]; + DoubleQuote;["]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForSingleQuotedValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForSingleQuotedValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForSingleQuotedValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForSingleQuotedValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForSingleQuotedValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForSingleQuotedValue.stree.txt new file mode 100644 index 000000000..05fd9cb57 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForSingleQuotedValue.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..17)::17 - [@custom 'AString'] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..17)::9 - ['AString'] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + Text;[AString]; + SingleQuote;[']; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForUnquotedValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForUnquotedValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForUnquotedValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForUnquotedValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForUnquotedValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForUnquotedValue.stree.txt new file mode 100644 index 000000000..b0e11abed --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_StringToken_ParserErrorForUnquotedValue.stree.txt @@ -0,0 +1,16 @@ +RazorDocument - [0..15)::15 - [@custom AString] + MarkupBlock - [0..15)::15 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..15)::7 - [AString] - Gen - SpanEditHandler;Accepts:Any + Text;[AString]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_TokensMustBeSeparatedBySpace.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_TokensMustBeSeparatedBySpace.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_TokensMustBeSeparatedBySpace.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_TokensMustBeSeparatedBySpace.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_TokensMustBeSeparatedBySpace.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_TokensMustBeSeparatedBySpace.stree.txt new file mode 100644 index 000000000..b52e1e1e5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_TokensMustBeSeparatedBySpace.stree.txt @@ -0,0 +1,20 @@ +RazorDocument - [0..26)::26 - [@custom "string1""string2"] + MarkupBlock - [0..26)::26 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..17)::17 + RazorDirective - [0..17)::17 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..17)::16 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..17)::10 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..17)::9 - ["string1"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["string1"]; + MarkupTextLiteral - [17..26)::9 - ["string2"] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + Text;[string2]; + DoubleQuote;["]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsCodeBlocks.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsCodeBlocks.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsCodeBlocks.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsCodeBlocks.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsCodeBlocks.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsCodeBlocks.stree.txt new file mode 100644 index 000000000..c02ef4812 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsCodeBlocks.stree.txt @@ -0,0 +1,37 @@ +RazorDocument - [0..32)::32 - [@custom "Name" { foo(); bar(); }] + MarkupBlock - [0..32)::32 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..32)::32 + RazorDirective - [0..32)::32 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..32)::31 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..32)::25 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..14)::6 - ["Name"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["Name"]; + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [15..16)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd + LeftBrace;[{]; + CSharpCodeBlock - [16..31)::15 + CSharpStatementLiteral - [16..31)::15 - [ foo(); bar(); ] - Gen - CodeBlockEditHandler;Accepts:Any;CodeBlock + Whitespace;[ ]; + Identifier;[foo]; + LeftParenthesis;[(]; + RightParenthesis;[)]; + Semicolon;[;]; + Whitespace;[ ]; + Identifier;[bar]; + LeftParenthesis;[(]; + RightParenthesis;[)]; + Semicolon;[;]; + Whitespace;[ ]; + RazorMetaCode - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [32..32)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsMemberTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMemberTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsMemberTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMemberTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMemberTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMemberTokens.stree.txt new file mode 100644 index 000000000..0fce66b21 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMemberTokens.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..19)::19 - [@custom Some_Member] + MarkupBlock - [0..19)::19 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..19)::19 + RazorDirective - [0..19)::19 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..19)::18 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..19)::12 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..19)::11 - [Some_Member] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[Some_Member]; + MarkupTextLiteral - [19..19)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsMultipleTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMultipleTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsMultipleTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMultipleTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMultipleTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMultipleTokens.stree.txt new file mode 100644 index 000000000..efd14d61b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsMultipleTokens.stree.txt @@ -0,0 +1,32 @@ +RazorDocument - [0..64)::64 - [@custom System.Text.Encoding.ASCIIEncoding Some_Member "AString"] + MarkupBlock - [0..64)::64 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..64)::64 + RazorDirective - [0..64)::64 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..64)::63 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..64)::57 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..42)::34 - [System.Text.Encoding.ASCIIEncoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[ASCIIEncoding]; + CSharpStatementLiteral - [42..43)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [43..54)::11 - [Some_Member] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[Some_Member]; + MarkupEphemeralTextLiteral - [54..55)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [55..64)::9 - ["AString"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["AString"]; + MarkupTextLiteral - [64..64)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsRazorBlocks.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsRazorBlocks.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsRazorBlocks.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsRazorBlocks.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsRazorBlocks.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsRazorBlocks.stree.txt new file mode 100644 index 000000000..a99691162 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsRazorBlocks.stree.txt @@ -0,0 +1,46 @@ +RazorDocument - [0..33)::33 - [@custom "Header" {

    F{o}o

    }] + MarkupBlock - [0..33)::33 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..33)::33 + RazorDirective - [0..33)::33 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..33)::32 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..33)::26 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..16)::8 - ["Header"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["Header"]; + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [17..18)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd + LeftBrace;[{]; + MarkupBlock - [18..32)::14 + MarkupTextLiteral - [18..19)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [19..22)::3 - [

    ] + MarkupTextLiteral - [19..22)::3 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [22..27)::5 - [F{o}o] - Gen - SpanEditHandler;Accepts:Any + Text;[F]; + Text;[{]; + Text;[o]; + Text;[}]; + Text;[o]; + MarkupTagBlock - [27..31)::4 - [

    ] + MarkupTextLiteral - [27..31)::4 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [31..32)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + RazorMetaCode - [32..33)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsStringTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsStringTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsStringTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsStringTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsStringTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsStringTokens.stree.txt new file mode 100644 index 000000000..6e20f9a78 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsStringTokens.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..17)::17 - [@custom "AString"] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..17)::17 + RazorDirective - [0..17)::17 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..17)::16 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..17)::10 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..17)::9 - ["AString"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["AString"]; + MarkupTextLiteral - [17..17)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsTypeTokens.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsTypeTokens.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/DirectiveDescriptor_UnderstandsTypeTokens.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsTypeTokens.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsTypeTokens.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsTypeTokens.stree.txt new file mode 100644 index 000000000..d35c7daab --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/DirectiveDescriptor_UnderstandsTypeTokens.stree.txt @@ -0,0 +1,24 @@ +RazorDocument - [0..42)::42 - [@custom System.Text.Encoding.ASCIIEncoding] + MarkupBlock - [0..42)::42 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..42)::42 + RazorDirective - [0..42)::42 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..42)::41 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..42)::35 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..42)::34 - [System.Text.Encoding.ASCIIEncoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[ASCIIEncoding]; + MarkupTextLiteral - [42..42)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Directives_CanUseReservedWord_Class.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Class.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Directives_CanUseReservedWord_Class.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Class.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Class.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Class.stree.txt new file mode 100644 index 000000000..074e73873 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Class.stree.txt @@ -0,0 +1,14 @@ +RazorDocument - [0..6)::6 - [@class] + MarkupBlock - [0..6)::6 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..6)::6 + RazorDirective - [0..6)::6 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..6)::5 + RazorMetaCode - [1..6)::5 - Gen - SpanEditHandler;Accepts:None + Keyword;[class]; + CSharpCodeBlock - [6..6)::0 + MarkupTextLiteral - [6..6)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Directives_CanUseReservedWord_Namespace.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Namespace.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Directives_CanUseReservedWord_Namespace.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Namespace.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Namespace.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Namespace.stree.txt new file mode 100644 index 000000000..693eda73c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Directives_CanUseReservedWord_Namespace.stree.txt @@ -0,0 +1,14 @@ +RazorDocument - [0..10)::10 - [@namespace] + MarkupBlock - [0..10)::10 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..10)::10 + RazorDirective - [0..10)::10 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..10)::9 + RazorMetaCode - [1..10)::9 - Gen - SpanEditHandler;Accepts:None + Keyword;[namespace]; + CSharpCodeBlock - [10..10)::0 + MarkupTextLiteral - [10..10)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/EmptyFunctionsDirective.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/EmptyFunctionsDirective.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/EmptyFunctionsDirective.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/EmptyFunctionsDirective.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/EmptyFunctionsDirective.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/EmptyFunctionsDirective.stree.txt new file mode 100644 index 000000000..fe70c1e7f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/EmptyFunctionsDirective.stree.txt @@ -0,0 +1,23 @@ +RazorDocument - [0..14)::14 - [@functions { }] + MarkupBlock - [0..14)::14 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..14)::14 + RazorDirective - [0..14)::14 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..14)::13 + RazorMetaCode - [1..10)::9 - Gen - SpanEditHandler;Accepts:None + Identifier;[functions]; + CSharpCodeBlock - [10..14)::4 + MarkupTextLiteral - [10..11)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [11..12)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd + LeftBrace;[{]; + CSharpCodeBlock - [12..13)::1 + CSharpStatementLiteral - [12..13)::1 - [ ] - Gen - CodeBlockEditHandler;Accepts:Any;CodeBlock + Whitespace;[ ]; + RazorMetaCode - [13..14)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [14..14)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/ExtensibleDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt similarity index 71% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/ExtensibleDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt index 212cedc07..80b5cd9e1 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/ExtensibleDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.cspans.txt @@ -1,7 +1,7 @@ Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [46] ) -Code span at (2:1,0 [2] ) (Accepts:Any) - Parent: Directive block at (2:1,0 [44] ) -Transition span at (4:1,2 [1] ) (Accepts:None) - Parent: Directive block at (2:1,0 [44] ) -MetaCode span at (5:1,3 [6] ) (Accepts:None) - Parent: Directive block at (2:1,0 [44] ) -Code span at (11:1,9 [1] ) (Accepts:Whitespace) - Parent: Directive block at (2:1,0 [44] ) -Code span at (12:1,10 [34] ) (Accepts:NonWhitespace) - Parent: Directive block at (2:1,0 [44] ) +Code span at (2:1,0 [2] ) (Accepts:Any) - Parent: Statement block at (2:1,0 [44] ) +Transition span at (4:1,2 [1] ) (Accepts:None) - Parent: Directive block at (4:1,2 [42] ) +MetaCode span at (5:1,3 [6] ) (Accepts:None) - Parent: Directive block at (4:1,2 [42] ) +Code span at (11:1,9 [1] ) (Accepts:Whitespace) - Parent: Directive block at (4:1,2 [42] ) +Code span at (12:1,10 [34] ) (Accepts:NonWhitespace) - Parent: Directive block at (4:1,2 [42] ) Markup span at (46:1,44 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [46] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.stree.txt new file mode 100644 index 000000000..691ed9041 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveDoesNotErorrIfNotAtStartOfLineBecauseOfWhitespace.stree.txt @@ -0,0 +1,26 @@ +RazorDocument - [0..46)::46 - [LF @custom System.Text.Encoding.ASCIIEncoding] + MarkupBlock - [0..46)::46 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + CSharpCodeBlock - [2..46)::44 + CSharpStatementLiteral - [2..4)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + RazorDirective - [4..46)::42 + CSharpTransition - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [5..46)::41 + RazorMetaCode - [5..11)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [11..46)::35 + CSharpStatementLiteral - [11..12)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [12..46)::34 - [System.Text.Encoding.ASCIIEncoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[ASCIIEncoding]; + MarkupTextLiteral - [46..46)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/ExtensibleDirectiveErrorsIfNotAtStartOfLine.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveErrorsIfNotAtStartOfLine.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/ExtensibleDirectiveErrorsIfNotAtStartOfLine.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveErrorsIfNotAtStartOfLine.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveErrorsIfNotAtStartOfLine.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveErrorsIfNotAtStartOfLine.stree.txt new file mode 100644 index 000000000..31dcda995 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/ExtensibleDirectiveErrorsIfNotAtStartOfLine.stree.txt @@ -0,0 +1,27 @@ +RazorDocument - [0..48)::48 - [{ @custom System.Text.Encoding.ASCIIEncodingLF}] + MarkupBlock - [0..48)::48 + MarkupTextLiteral - [0..3)::3 - [{ ] - Gen - SpanEditHandler;Accepts:Any + Text;[{]; + Whitespace;[ ]; + CSharpCodeBlock - [3..47)::44 + RazorDirective - [3..47)::44 + CSharpTransition - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [4..47)::43 + RazorMetaCode - [4..10)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [10..47)::37 + CSharpStatementLiteral - [10..11)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [11..45)::34 - [System.Text.Encoding.ASCIIEncoding] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Text]; + Dot;[.]; + Identifier;[Encoding]; + Dot;[.]; + Identifier;[ASCIIEncoding]; + MarkupEphemeralTextLiteral - [45..47)::2 - [LF] - Gen - SpanEditHandler;Accepts:Whitespace + NewLine;[LF]; + MarkupTextLiteral - [47..48)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/InheritsDirectiveSupportsArrays.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsArrays.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/InheritsDirectiveSupportsArrays.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsArrays.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsArrays.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsArrays.stree.txt new file mode 100644 index 000000000..23a6ec42b --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsArrays.stree.txt @@ -0,0 +1,24 @@ +RazorDocument - [0..22)::22 - [@inherits string[[]][]] + MarkupBlock - [0..22)::22 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..22)::22 + RazorDirective - [0..22)::22 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..22)::21 + RazorMetaCode - [1..9)::8 - Gen - SpanEditHandler;Accepts:None + Identifier;[inherits]; + CSharpCodeBlock - [9..22)::13 + CSharpStatementLiteral - [9..10)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [10..22)::12 - [string[[]][]] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Keyword;[string]; + LeftBracket;[[]; + LeftBracket;[[]; + RightBracket;[]]; + RightBracket;[]]; + LeftBracket;[[]; + RightBracket;[]]; + MarkupTextLiteral - [22..22)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/InheritsDirectiveSupportsNestedGenerics.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsNestedGenerics.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/InheritsDirectiveSupportsNestedGenerics.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsNestedGenerics.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsNestedGenerics.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsNestedGenerics.stree.txt new file mode 100644 index 000000000..740b68370 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsNestedGenerics.stree.txt @@ -0,0 +1,34 @@ +RazorDocument - [0..87)::87 - [@inherits System.Web.Mvc.WebViewPage>] + MarkupBlock - [0..87)::87 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..87)::87 + RazorDirective - [0..87)::87 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..87)::86 + RazorMetaCode - [1..9)::8 - Gen - SpanEditHandler;Accepts:None + Identifier;[inherits]; + CSharpCodeBlock - [9..87)::78 + CSharpStatementLiteral - [9..10)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [10..87)::77 - [System.Web.Mvc.WebViewPage>] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[Web]; + Dot;[.]; + Identifier;[Mvc]; + Dot;[.]; + Identifier;[WebViewPage]; + LessThan;[<]; + Identifier;[IEnumerable]; + LessThan;[<]; + Identifier;[MvcApplication2]; + Dot;[.]; + Identifier;[Models]; + Dot;[.]; + Identifier;[RegisterModel]; + GreaterThan;[>]; + GreaterThan;[>]; + MarkupTextLiteral - [87..87)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/InheritsDirectiveSupportsTypeKeywords.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsTypeKeywords.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/InheritsDirectiveSupportsTypeKeywords.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsTypeKeywords.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsTypeKeywords.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsTypeKeywords.stree.txt new file mode 100644 index 000000000..8a0e9d307 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/InheritsDirectiveSupportsTypeKeywords.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..16)::16 - [@inherits string] + MarkupBlock - [0..16)::16 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..16)::16 + RazorDirective - [0..16)::16 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..16)::15 + RazorMetaCode - [1..9)::8 - Gen - SpanEditHandler;Accepts:None + Identifier;[inherits]; + CSharpCodeBlock - [9..16)::7 + CSharpStatementLiteral - [9..10)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [10..16)::6 - [string] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Keyword;[string]; + MarkupTextLiteral - [16..16)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalDirectiveTokens_AreSkipped.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_AreSkipped.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalDirectiveTokens_AreSkipped.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_AreSkipped.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_AreSkipped.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_AreSkipped.stree.txt new file mode 100644 index 000000000..c4aaa82fd --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_AreSkipped.stree.txt @@ -0,0 +1,16 @@ +RazorDocument - [0..8)::8 - [@custom ] + MarkupBlock - [0..8)::8 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + RazorDirective - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..8)::7 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..8)::1 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + MarkupTextLiteral - [8..8)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalDirectiveTokens_WithBraces_AreParsed.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithBraces_AreParsed.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalDirectiveTokens_WithBraces_AreParsed.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithBraces_AreParsed.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithBraces_AreParsed.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithBraces_AreParsed.stree.txt new file mode 100644 index 000000000..9903cbeda --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithBraces_AreParsed.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..29)::29 - [@custom "{formaction}?/{id}?"] + MarkupBlock - [0..29)::29 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..29)::29 + RazorDirective - [0..29)::29 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..29)::28 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..29)::22 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..29)::21 - ["{formaction}?/{id}?"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["{formaction}?/{id}?"]; + MarkupTextLiteral - [29..29)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalDirectiveTokens_WithMultipleOptionalTokens_AreParsed.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithMultipleOptionalTokens_AreParsed.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalDirectiveTokens_WithMultipleOptionalTokens_AreParsed.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithMultipleOptionalTokens_AreParsed.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithMultipleOptionalTokens_AreParsed.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithMultipleOptionalTokens_AreParsed.stree.txt new file mode 100644 index 000000000..8f8fbf977 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithMultipleOptionalTokens_AreParsed.stree.txt @@ -0,0 +1,24 @@ +RazorDocument - [0..43)::43 - [@custom "{formaction}?/{id}?" System.String] + MarkupBlock - [0..43)::43 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..43)::43 + RazorDirective - [0..43)::43 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..43)::42 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..43)::36 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..29)::21 - ["{formaction}?/{id}?"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["{formaction}?/{id}?"]; + CSharpStatementLiteral - [29..30)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [30..43)::13 - [System.String] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[System]; + Dot;[.]; + Identifier;[String]; + MarkupTextLiteral - [43..43)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalDirectiveTokens_WithSimpleTokens_AreParsed.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithSimpleTokens_AreParsed.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalDirectiveTokens_WithSimpleTokens_AreParsed.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithSimpleTokens_AreParsed.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithSimpleTokens_AreParsed.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithSimpleTokens_AreParsed.stree.txt new file mode 100644 index 000000000..9f2cc69ca --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalDirectiveTokens_WithSimpleTokens_AreParsed.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..22)::22 - [@custom "simple-value"] + MarkupBlock - [0..22)::22 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..22)::22 + RazorDirective - [0..22)::22 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..22)::21 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..22)::15 + MarkupEphemeralTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..22)::14 - ["simple-value"] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + StringLiteral;["simple-value"]; + MarkupTextLiteral - [22..22)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalMemberTokens_WithMemberSpecified_IsParsed.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMemberSpecified_IsParsed.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalMemberTokens_WithMemberSpecified_IsParsed.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMemberSpecified_IsParsed.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMemberSpecified_IsParsed.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMemberSpecified_IsParsed.stree.txt new file mode 100644 index 000000000..706c08ef7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMemberSpecified_IsParsed.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..27)::27 - [@TestDirective PropertyName] + MarkupBlock - [0..27)::27 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..27)::27 + RazorDirective - [0..27)::27 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..27)::26 + RazorMetaCode - [1..14)::13 - Gen - SpanEditHandler;Accepts:None + Identifier;[TestDirective]; + CSharpCodeBlock - [14..27)::13 + CSharpStatementLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [15..27)::12 - [PropertyName] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[PropertyName]; + MarkupTextLiteral - [27..27)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalMemberTokens_WithMissingMember_IsParsed.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMissingMember_IsParsed.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/OptionalMemberTokens_WithMissingMember_IsParsed.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMissingMember_IsParsed.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMissingMember_IsParsed.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMissingMember_IsParsed.stree.txt new file mode 100644 index 000000000..b77cf3774 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/OptionalMemberTokens_WithMissingMember_IsParsed.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..15)::15 - [@TestDirective ] + MarkupBlock - [0..15)::15 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..15)::15 + RazorDirective - [0..15)::15 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..15)::14 + RazorMetaCode - [1..14)::13 - Gen - SpanEditHandler;Accepts:None + Identifier;[TestDirective]; + CSharpCodeBlock - [14..15)::1 + CSharpStatementLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [15..15)::0 - [] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Marker;[]; + MarkupTextLiteral - [15..15)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Parse_FunctionsDirective.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_FunctionsDirective.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Parse_FunctionsDirective.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_FunctionsDirective.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_FunctionsDirective.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_FunctionsDirective.stree.txt new file mode 100644 index 000000000..67c1ec8de --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_FunctionsDirective.stree.txt @@ -0,0 +1,33 @@ +RazorDocument - [0..28)::28 - [@functions { foo(); bar(); }] + MarkupBlock - [0..28)::28 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..28)::28 + RazorDirective - [0..28)::28 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..28)::27 + RazorMetaCode - [1..10)::9 - Gen - SpanEditHandler;Accepts:None + Identifier;[functions]; + CSharpCodeBlock - [10..28)::18 + MarkupTextLiteral - [10..11)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [11..12)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd + LeftBrace;[{]; + CSharpCodeBlock - [12..27)::15 + CSharpStatementLiteral - [12..27)::15 - [ foo(); bar(); ] - Gen - CodeBlockEditHandler;Accepts:Any;CodeBlock + Whitespace;[ ]; + Identifier;[foo]; + LeftParenthesis;[(]; + RightParenthesis;[)]; + Semicolon;[;]; + Whitespace;[ ]; + Identifier;[bar]; + LeftParenthesis;[(]; + RightParenthesis;[)]; + Semicolon;[;]; + Whitespace;[ ]; + RazorMetaCode - [27..28)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [28..28)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Parse_SectionDirective.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_SectionDirective.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Parse_SectionDirective.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_SectionDirective.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_SectionDirective.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_SectionDirective.stree.txt new file mode 100644 index 000000000..4a9687ae8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parse_SectionDirective.stree.txt @@ -0,0 +1,46 @@ +RazorDocument - [0..32)::32 - [@section Header {

    F{o}o

    }] + MarkupBlock - [0..32)::32 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..32)::32 + RazorDirective - [0..32)::32 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..32)::31 + RazorMetaCode - [1..8)::7 - Gen - SpanEditHandler;Accepts:None + Identifier;[section]; + CSharpCodeBlock - [8..32)::24 + CSharpStatementLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [9..15)::6 - [Header] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[Header]; + MarkupTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:AllWhitespace + Whitespace;[ ]; + RazorMetaCode - [16..17)::1 - Gen - AutoCompleteEditHandler;Accepts:None,AutoComplete:[];AtEnd + LeftBrace;[{]; + MarkupBlock - [17..31)::14 + MarkupTextLiteral - [17..18)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [18..21)::3 - [

    ] + MarkupTextLiteral - [18..21)::3 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [21..26)::5 - [F{o}o] - Gen - SpanEditHandler;Accepts:Any + Text;[F]; + Text;[{]; + Text;[o]; + Text;[}]; + Text;[o]; + MarkupTagBlock - [26..30)::4 - [

    ] + MarkupTextLiteral - [26..30)::4 - [

    ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [30..31)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + RazorMetaCode - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [32..32)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithMultipleSegments.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithMultipleSegments.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithMultipleSegments.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithMultipleSegments.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithMultipleSegments.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithMultipleSegments.stree.txt new file mode 100644 index 000000000..1573ba8b6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithMultipleSegments.stree.txt @@ -0,0 +1,22 @@ +RazorDocument - [0..29)::29 - [@custom BaseNamespace.Foo.Bar] + MarkupBlock - [0..29)::29 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..29)::29 + RazorDirective - [0..29)::29 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..29)::28 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..29)::22 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..29)::21 - [BaseNamespace.Foo.Bar] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[BaseNamespace]; + Dot;[.]; + Identifier;[Foo]; + Dot;[.]; + Identifier;[Bar]; + MarkupTextLiteral - [29..29)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithSingleSegment.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithSingleSegment.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithSingleSegment.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithSingleSegment.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithSingleSegment.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithSingleSegment.stree.txt new file mode 100644 index 000000000..ec222fc56 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/Parser_ParsesNamespaceDirectiveToken_WithSingleSegment.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..21)::21 - [@custom BaseNamespace] + MarkupBlock - [0..21)::21 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..21)::21 + RazorDirective - [0..21)::21 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..21)::20 + RazorMetaCode - [1..7)::6 - Gen - SpanEditHandler;Accepts:None + Identifier;[custom]; + CSharpCodeBlock - [7..21)::14 + CSharpStatementLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Whitespace + Whitespace;[ ]; + CSharpStatementLiteral - [8..21)::13 - [BaseNamespace] - Gen - DirectiveTokenEditHandler;Accepts:NonWhitespace + Identifier;[BaseNamespace]; + MarkupTextLiteral - [21..21)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.stree.txt new file mode 100644 index 000000000..9ea983ad5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_EndQuoteRequiresDoubleQuotesAroundValue.stree.txt @@ -0,0 +1,19 @@ +RazorDocument - [0..21)::21 - [@removeTagHelper Foo"] + MarkupBlock - [0..21)::21 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..21)::21 + RazorDirective - [0..21)::21 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..21)::20 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[removeTagHelper]; + CSharpCodeBlock - [16..21)::5 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..21)::4 - [Foo"] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Identifier;[Foo]; + StringLiteral;["];RZ1000(20:0,20 [1] ) + MarkupTextLiteral - [21..21)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_InvalidLookupText_AddsError.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_InvalidLookupText_AddsError.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_InvalidLookupText_AddsError.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_InvalidLookupText_AddsError.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_InvalidLookupText_AddsError.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_InvalidLookupText_AddsError.stree.txt new file mode 100644 index 000000000..6ca3c0b46 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_InvalidLookupText_AddsError.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..20)::20 - [@removeTagHelper Foo] + MarkupBlock - [0..20)::20 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..20)::20 + RazorDirective - [0..20)::20 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..20)::19 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[removeTagHelper]; + CSharpCodeBlock - [16..20)::4 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..20)::3 - [Foo] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Identifier;[Foo]; + MarkupTextLiteral - [20..20)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_NoValue_Invalid.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_NoValue_Invalid.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_NoValue_Invalid.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_NoValue_Invalid.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_NoValue_Invalid.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_NoValue_Invalid.stree.txt new file mode 100644 index 000000000..1fcd5587a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_NoValue_Invalid.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..19)::19 - [@removeTagHelper ""] + MarkupBlock - [0..19)::19 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..19)::19 + RazorDirective - [0..19)::19 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..19)::18 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[removeTagHelper]; + CSharpCodeBlock - [16..19)::3 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..19)::2 - [""] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;[""]; + MarkupTextLiteral - [19..19)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_RequiresValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_RequiresValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_RequiresValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_RequiresValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_RequiresValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_RequiresValue.stree.txt new file mode 100644 index 000000000..20a0666a0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_RequiresValue.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..17)::17 - [@removeTagHelper ] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..17)::17 + RazorDirective - [0..17)::17 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..17)::16 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[removeTagHelper]; + CSharpCodeBlock - [16..17)::1 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..17)::0 - [] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Marker;[]; + MarkupTextLiteral - [17..17)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_SingleQuotes_AddsError.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SingleQuotes_AddsError.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_SingleQuotes_AddsError.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SingleQuotes_AddsError.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SingleQuotes_AddsError.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SingleQuotes_AddsError.stree.txt new file mode 100644 index 000000000..7584b6d08 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SingleQuotes_AddsError.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..25)::25 - [@removeTagHelper '*, Foo'] + MarkupBlock - [0..25)::25 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..25)::25 + RazorDirective - [0..25)::25 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..25)::24 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[removeTagHelper]; + CSharpCodeBlock - [16..25)::9 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..25)::8 - ['*, Foo'] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + CharacterLiteral;['*, Foo']; + MarkupTextLiteral - [25..25)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.stree.txt new file mode 100644 index 000000000..41c54a8e5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_StartQuoteRequiresDoubleQuotesAroundValue.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..21)::21 - [@removeTagHelper "Foo] + MarkupBlock - [0..21)::21 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..21)::21 + RazorDirective - [0..21)::21 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..21)::20 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[removeTagHelper]; + CSharpCodeBlock - [16..21)::5 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..21)::4 - ["Foo] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;["Foo];RZ1000(17:0,17 [1] ) + MarkupTextLiteral - [21..21)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_SupportsSpaces.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SupportsSpaces.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_SupportsSpaces.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SupportsSpaces.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SupportsSpaces.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SupportsSpaces.stree.txt new file mode 100644 index 000000000..e3062d189 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_SupportsSpaces.stree.txt @@ -0,0 +1,22 @@ +RazorDocument - [0..35)::35 - [@removeTagHelper Foo, Bar ] + MarkupBlock - [0..35)::35 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..35)::35 + RazorDirective - [0..35)::35 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..35)::34 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[removeTagHelper]; + CSharpCodeBlock - [16..35)::19 + MarkupTextLiteral - [16..21)::5 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [21..35)::14 - [Foo, Bar ] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Identifier;[Foo]; + Comma;[,]; + Whitespace;[ ]; + Identifier;[Bar]; + Whitespace;[ ]; + MarkupTextLiteral - [35..35)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/RemoveTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.stree.txt new file mode 100644 index 000000000..92659f076 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/RemoveTagHelperDirective_WithQuotes_InvalidLookupText_AddsError.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..22)::22 - [@removeTagHelper "Foo"] + MarkupBlock - [0..22)::22 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..22)::22 + RazorDirective - [0..22)::22 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..22)::21 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[removeTagHelper]; + CSharpCodeBlock - [16..22)::6 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..22)::5 - ["Foo"] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;["Foo"]; + MarkupTextLiteral - [22..22)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_EndQuoteRequiresDoubleQuotesAroundValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_EndQuoteRequiresDoubleQuotesAroundValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_EndQuoteRequiresDoubleQuotesAroundValue.stree.txt new file mode 100644 index 000000000..757c8c81f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_EndQuoteRequiresDoubleQuotesAroundValue.stree.txt @@ -0,0 +1,20 @@ +RazorDocument - [0..24)::24 - [@tagHelperPrefix Foo "] + MarkupBlock - [0..24)::24 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..24)::24 + RazorDirective - [0..24)::24 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..24)::23 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[tagHelperPrefix]; + CSharpCodeBlock - [16..24)::8 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..24)::7 - [Foo "] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Identifier;[Foo]; + Whitespace;[ ]; + StringLiteral;["];RZ1000(23:0,23 [1] ) + MarkupTextLiteral - [24..24)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_NoValueSucceeds.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_NoValueSucceeds.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_NoValueSucceeds.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_NoValueSucceeds.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_NoValueSucceeds.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_NoValueSucceeds.stree.txt new file mode 100644 index 000000000..ee06179c7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_NoValueSucceeds.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..19)::19 - [@tagHelperPrefix ""] + MarkupBlock - [0..19)::19 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..19)::19 + RazorDirective - [0..19)::19 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..19)::18 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[tagHelperPrefix]; + CSharpCodeBlock - [16..19)::3 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..19)::2 - [""] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;[""]; + MarkupTextLiteral - [19..19)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_RequiresValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_RequiresValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_RequiresValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_RequiresValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_RequiresValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_RequiresValue.stree.txt new file mode 100644 index 000000000..0e86bb2dc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_RequiresValue.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..17)::17 - [@tagHelperPrefix ] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..17)::17 + RazorDirective - [0..17)::17 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..17)::16 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[tagHelperPrefix]; + CSharpCodeBlock - [16..17)::1 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..17)::0 - [] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Marker;[]; + MarkupTextLiteral - [17..17)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_StartQuoteRequiresDoubleQuotesAroundValue.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_StartQuoteRequiresDoubleQuotesAroundValue.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_StartQuoteRequiresDoubleQuotesAroundValue.stree.txt new file mode 100644 index 000000000..3e26d675c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_StartQuoteRequiresDoubleQuotesAroundValue.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..21)::21 - [@tagHelperPrefix "Foo] + MarkupBlock - [0..21)::21 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..21)::21 + RazorDirective - [0..21)::21 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..21)::20 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[tagHelperPrefix]; + CSharpCodeBlock - [16..21)::5 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..21)::4 - ["Foo] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;["Foo];RZ1000(17:0,17 [1] ) + MarkupTextLiteral - [21..21)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_Succeeds.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_Succeeds.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_Succeeds.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_Succeeds.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_Succeeds.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_Succeeds.stree.txt new file mode 100644 index 000000000..8b875e285 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_Succeeds.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..20)::20 - [@tagHelperPrefix Foo] + MarkupBlock - [0..20)::20 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..20)::20 + RazorDirective - [0..20)::20 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..20)::19 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[tagHelperPrefix]; + CSharpCodeBlock - [16..20)::4 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..20)::3 - [Foo] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + Identifier;[Foo]; + MarkupTextLiteral - [20..20)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_WithQuotes_Succeeds.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_WithQuotes_Succeeds.cspans.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpDirectivesTest/TagHelperPrefixDirective_WithQuotes_Succeeds.cspans.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_WithQuotes_Succeeds.cspans.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_WithQuotes_Succeeds.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_WithQuotes_Succeeds.stree.txt new file mode 100644 index 000000000..1bbaa5ea0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/RazorDirectivesTest/TagHelperPrefixDirective_WithQuotes_Succeeds.stree.txt @@ -0,0 +1,18 @@ +RazorDocument - [0..22)::22 - [@tagHelperPrefix "Foo"] + MarkupBlock - [0..22)::22 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..22)::22 + RazorDirective - [0..22)::22 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + RazorDirectiveBody - [1..22)::21 + RazorMetaCode - [1..16)::15 - Gen - SpanEditHandler;Accepts:None + Identifier;[tagHelperPrefix]; + CSharpCodeBlock - [16..22)::6 + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [17..22)::5 - ["Foo"] - Gen - SpanEditHandler;Accepts:AnyExceptNewline + StringLiteral;["Foo"]; + MarkupTextLiteral - [22..22)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures1.stree.txt index 4dbeb051a..b808d1118 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures1.stree.txt @@ -1,3 +1,14 @@ -Markup block - Gen - 15 - (0:0,0) - Tag block - Gen - 15 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - StartTagAndEndTag - ... +RazorDocument - [0..15)::15 - [] + MarkupBlock - [0..15)::15 + MarkupTagHelperElement - [0..15)::15 - input[StartTagAndEndTag] - InputTagHelper1 - InputTagHelper2 + MarkupTagHelperStartTag - [0..7)::7 + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [7..15)::8 + MarkupTextLiteral - [7..15)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[input]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures2.stree.txt index b44a4b21d..db3dcb140 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures2.stree.txt @@ -1,3 +1,10 @@ -Markup block - Gen - 9 - (0:0,0) - Tag block - Gen - 9 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - SelfClosing - +RazorDocument - [0..9)::9 - [] + MarkupBlock - [0..9)::9 + MarkupTagHelperElement - [0..9)::9 - input[SelfClosing] - InputTagHelper1 - InputTagHelper2 + MarkupTagHelperStartTag - [0..9)::9 + MarkupTextLiteral - [0..9)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures3.stree.txt index 2102dbe69..5ff3c5be2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures3.stree.txt @@ -1,6 +1,23 @@ -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) - Tokens:1 - SyntaxKind.Text;[text]; +RazorDocument - [0..19)::19 - [] + MarkupBlock - [0..19)::19 + MarkupTagHelperElement - [0..19)::19 - input[StartTagOnly] - InputTagHelper1 - InputTagHelper2 + MarkupTagHelperStartTag - [0..19)::19 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..18)::12 - type - SingleQuotes - Unbound - [ type='text'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..11)::4 - [type] - Gen - SpanEditHandler;Accepts:Any + Text;[type]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..17)::4 + MarkupLiteralAttributeValue - [13..17)::4 - [text] + MarkupTextLiteral - [13..17)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [18..19)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures4.stree.txt index ebca51245..f1523da71 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures4.stree.txt @@ -1,5 +1,14 @@ -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 - +RazorDocument - [0..14)::14 - [] + MarkupBlock - [0..14)::14 + MarkupTagHelperElement - [0..7)::7 - input[StartTagOnly] - InputTagHelper1 - InputTagHelper2 + MarkupTagHelperStartTag - [0..7)::7 + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagHelperElement - [7..14)::7 - input[StartTagOnly] - InputTagHelper1 - InputTagHelper2 + MarkupTagHelperStartTag - [7..14)::7 + MarkupTextLiteral - [7..14)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures5.stree.txt index 98ba558c6..01d07394e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures5.stree.txt @@ -1,6 +1,29 @@ -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) - Tokens:1 - SyntaxKind.Text;[text]; +RazorDocument - [0..27)::27 - [] + MarkupBlock - [0..27)::27 + MarkupTagHelperElement - [0..27)::27 - input[StartTagAndEndTag] - InputTagHelper1 - InputTagHelper2 + MarkupTagHelperStartTag - [0..19)::19 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..18)::12 - type - SingleQuotes - Unbound - [ type='text'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..11)::4 - [type] - Gen - SpanEditHandler;Accepts:Any + Text;[type]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..17)::4 + MarkupLiteralAttributeValue - [13..17)::4 - [text] + MarkupTextLiteral - [13..17)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [18..19)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [19..27)::8 + MarkupTextLiteral - [19..27)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[input]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures6.stree.txt index b44a4b21d..db3dcb140 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures6.stree.txt @@ -1,3 +1,10 @@ -Markup block - Gen - 9 - (0:0,0) - Tag block - Gen - 9 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - SelfClosing - +RazorDocument - [0..9)::9 - [] + MarkupBlock - [0..9)::9 + MarkupTagHelperElement - [0..9)::9 - input[SelfClosing] - InputTagHelper1 - InputTagHelper2 + MarkupTagHelperStartTag - [0..9)::9 + MarkupTextLiteral - [0..9)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures7.stree.txt index b44a4b21d..db3dcb140 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/AllowsCompatibleTagStructures7.stree.txt @@ -1,3 +1,10 @@ -Markup block - Gen - 9 - (0:0,0) - Tag block - Gen - 9 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - SelfClosing - +RazorDocument - [0..9)::9 - [] + MarkupBlock - [0..9)::9 + MarkupTagHelperElement - [0..9)::9 - input[SelfClosing] - InputTagHelper1 - InputTagHelper2 + MarkupTagHelperStartTag - [0..9)::9 + MarkupTextLiteral - [0..9)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes1.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes1.diag.txt new file mode 100644 index 000000000..7854af144 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes1.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '*something' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '*something' because the name contains a '*' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes1.stree.txt index ad29f8c58..a7cce2797 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes1.stree.txt @@ -1,7 +1,35 @@ -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) - Tokens:1 - SyntaxKind.Text;[items]; +RazorDocument - [0..30)::30 - [
      ] + MarkupBlock - [0..30)::30 + MarkupTagHelperElement - [0..30)::30 - ul[StartTagAndEndTag] - CatchAllTagHelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..3)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[ul]; + MarkupMinimizedTagHelperAttribute - [3..9)::6 - bound - Minimized - Unbound - [ bound] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + MarkupTagHelperAttribute - [9..24)::15 - [item] - SingleQuotes - Bound - [ [item]='items'] + MarkupTextLiteral - [9..10)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [10..16)::6 - [[item]] - Gen - SpanEditHandler;Accepts:Any + LeftBracket;[[]; + Text;[item]; + RightBracket;[]]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [18..23)::5 + CSharpExpressionLiteral - [18..23)::5 - [items] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[items]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [24..25)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [25..30)::5 + MarkupTextLiteral - [25..30)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[ul]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes2.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes2.diag.txt new file mode 100644 index 000000000..7854af144 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes2.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '*something' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '*something' because the name contains a '*' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes2.stree.txt index 904af28c5..d05b1ec9b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes2.stree.txt @@ -1,7 +1,35 @@ -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) - Tokens:1 - SyntaxKind.Text;[items]; +RazorDocument - [0..32)::32 - [
        ] + MarkupBlock - [0..32)::32 + MarkupTagHelperElement - [0..32)::32 - ul[StartTagAndEndTag] - CatchAllTagHelper + MarkupTagHelperStartTag - [0..27)::27 + MarkupTextLiteral - [0..3)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[ul]; + MarkupMinimizedTagHelperAttribute - [3..9)::6 - bound - Minimized - Unbound - [ bound] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + MarkupTagHelperAttribute - [9..26)::17 - [(item)] - SingleQuotes - Bound - [ [(item)]='items'] + MarkupTextLiteral - [9..10)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [10..18)::8 - [[(item)]] - Gen - SpanEditHandler;Accepts:Any + LeftBracket;[[]; + Text;[(item)]; + RightBracket;[]]; + Equals;[=]; + MarkupTextLiteral - [19..20)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [20..25)::5 + CSharpExpressionLiteral - [20..25)::5 - [items] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[items]; + MarkupTextLiteral - [25..26)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [26..27)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [27..32)::5 + MarkupTextLiteral - [27..32)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[ul]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes3.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes3.diag.txt new file mode 100644 index 000000000..7854af144 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes3.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '*something' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '*something' because the name contains a '*' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes3.stree.txt index ab79e046b..a039e44df 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes3.stree.txt @@ -1,12 +1,37 @@ -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) - Tokens:1 - SyntaxKind.Text;[doSomething()]; - SyntaxKind.HtmlTextLiteral - [Click Me] - [38..46) - FullWidth: 8 - Slots: 1 - SyntaxKind.List - [Click Me] - [38..46) - FullWidth: 8 - Slots: 3 - SyntaxKind.Text;[Click]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Me]; +RazorDocument - [0..55)::55 - [] + MarkupBlock - [0..55)::55 + MarkupTagHelperElement - [0..55)::55 - button[StartTagAndEndTag] - CatchAllTagHelper + MarkupTagHelperStartTag - [0..38)::38 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[button]; + MarkupMinimizedTagHelperAttribute - [7..13)::6 - bound - Minimized - Unbound - [ bound] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..13)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + MarkupTagHelperAttribute - [13..37)::24 - (click) - SingleQuotes - Bound - [ (click)='doSomething()'] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..21)::7 - [(click)] - Gen - SpanEditHandler;Accepts:Any + Text;[(click)]; + Equals;[=]; + MarkupTextLiteral - [22..23)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [23..36)::13 + CSharpExpressionLiteral - [23..36)::13 - [doSomething()] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[doSomething()]; + MarkupTextLiteral - [36..37)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [37..38)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [38..46)::8 - [Click Me] - Gen - SpanEditHandler;Accepts:Any + Text;[Click]; + Whitespace;[ ]; + Text;[Me]; + MarkupTagHelperEndTag - [46..55)::9 + MarkupTextLiteral - [46..55)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[button]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes4.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes4.diag.txt new file mode 100644 index 000000000..7854af144 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes4.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '*something' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '*something' because the name contains a '*' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes4.stree.txt index 57140b16a..70377c3b3 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes4.stree.txt @@ -1,12 +1,37 @@ -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) - Tokens:1 - SyntaxKind.Text;[doSomething()]; - SyntaxKind.HtmlTextLiteral - [Click Me] - [39..47) - FullWidth: 8 - Slots: 1 - SyntaxKind.List - [Click Me] - [39..47) - FullWidth: 8 - Slots: 3 - SyntaxKind.Text;[Click]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Me]; +RazorDocument - [0..56)::56 - [] + MarkupBlock - [0..56)::56 + MarkupTagHelperElement - [0..56)::56 - button[StartTagAndEndTag] - CatchAllTagHelper + MarkupTagHelperStartTag - [0..39)::39 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[button]; + MarkupMinimizedTagHelperAttribute - [7..13)::6 - bound - Minimized - Unbound - [ bound] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..13)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + MarkupTagHelperAttribute - [13..38)::25 - (^click) - SingleQuotes - Bound - [ (^click)='doSomething()'] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..22)::8 - [(^click)] - Gen - SpanEditHandler;Accepts:Any + Text;[(^click)]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [24..37)::13 + CSharpExpressionLiteral - [24..37)::13 - [doSomething()] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[doSomething()]; + MarkupTextLiteral - [37..38)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [38..39)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [39..47)::8 - [Click Me] - Gen - SpanEditHandler;Accepts:Any + Text;[Click]; + Whitespace;[ ]; + Text;[Me]; + MarkupTagHelperEndTag - [47..56)::9 + MarkupTextLiteral - [47..56)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[button]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes5.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes5.diag.txt new file mode 100644 index 000000000..7854af144 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes5.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '*something' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '*something' because the name contains a '*' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes5.stree.txt index 920c93304..030c5524e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes5.stree.txt @@ -1,7 +1,33 @@ -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) - Tokens:1 - SyntaxKind.Text;[value]; +RazorDocument - [0..46)::46 - [] + MarkupBlock - [0..46)::46 + MarkupTagHelperElement - [0..46)::46 - template[StartTagAndEndTag] - CatchAllTagHelper + MarkupTagHelperStartTag - [0..35)::35 + MarkupTextLiteral - [0..9)::9 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[template]; + MarkupMinimizedTagHelperAttribute - [9..15)::6 - bound - Minimized - Unbound - [ bound] + MarkupTextLiteral - [9..10)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [10..15)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + MarkupTagHelperAttribute - [15..34)::19 - *something - SingleQuotes - Bound - [ *something='value'] + MarkupTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [16..26)::10 - [*something] - Gen - SpanEditHandler;Accepts:Any + Text;[*something]; + Equals;[=]; + MarkupTextLiteral - [27..28)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [28..33)::5 + MarkupTextLiteral - [28..33)::5 - [value] - Gen - SpanEditHandler;Accepts:Any + Text;[value]; + MarkupTextLiteral - [33..34)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [34..35)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [35..46)::11 + MarkupTextLiteral - [35..46)::11 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[template]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes6.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes6.diag.txt new file mode 100644 index 000000000..7854af144 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes6.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '*something' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '*something' because the name contains a '*' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes6.stree.txt index 011d30b1d..b50fadba4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes6.stree.txt @@ -1,5 +1,25 @@ -Markup block - Gen - 33 - (0:0,0) - Tag block - Gen - 33 - (0:0,0) - div - CatchAllTagHelper - StartTagAndEndTag -
        ...
        - bound - Minimized - #localminimized - Minimized +RazorDocument - [0..33)::33 - [
        ] + MarkupBlock - [0..33)::33 + MarkupTagHelperElement - [0..33)::33 - div[StartTagAndEndTag] - CatchAllTagHelper + MarkupTagHelperStartTag - [0..27)::27 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupMinimizedTagHelperAttribute - [4..10)::6 - bound - Minimized - Unbound - [ bound] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + MarkupMinimizedTagHelperAttribute - [10..26)::16 - #localminimized - Minimized - Unbound - [ #localminimized] + MarkupTextLiteral - [10..11)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [11..26)::15 - [#localminimized] - Gen - SpanEditHandler;Accepts:Any + Text;[#localminimized]; + MarkupTextLiteral - [26..27)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [27..33)::6 + MarkupTextLiteral - [27..33)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes7.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes7.diag.txt new file mode 100644 index 000000000..7854af144 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes7.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[item]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a '[' character. +(0,0): Error RZ3003: Invalid tag helper bound property '[(item)]' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a ']' character. +(0,0): Error RZ3003: Invalid tag helper bound property '*something' on tag helper 'CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '*something' because the name contains a '*' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes7.stree.txt index bf8ef9828..26f3690b1 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleSymbolBoundAttributes7.stree.txt @@ -1,7 +1,33 @@ -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) - Tokens:1 - SyntaxKind.Text;[value]; +RazorDocument - [0..32)::32 - [
        ] + MarkupBlock - [0..32)::32 + MarkupTagHelperElement - [0..32)::32 - div[StartTagAndEndTag] - CatchAllTagHelper + MarkupTagHelperStartTag - [0..26)::26 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupMinimizedTagHelperAttribute - [4..10)::6 - bound - Minimized - Unbound - [ bound] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + MarkupTagHelperAttribute - [10..25)::15 - #local - SingleQuotes - Bound - [ #local='value'] + MarkupTextLiteral - [10..11)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [11..17)::6 - [#local] - Gen - SpanEditHandler;Accepts:Any + Text;[#local]; + Equals;[=]; + MarkupTextLiteral - [18..19)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [19..24)::5 + MarkupTextLiteral - [19..24)::5 - [value] - Gen - SpanEditHandler;Accepts:Any + Text;[value]; + MarkupTextLiteral - [24..25)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [25..26)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [26..32)::6 + MarkupTextLiteral - [26..32)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure1.stree.txt index 64f951bb8..764c76b22 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure1.stree.txt @@ -1,3 +1,8 @@ -Markup block - Gen - 7 - (0:0,0) - Tag block - Gen - 7 - (0:0,0) - input - InputTagHelper - StartTagOnly - +RazorDocument - [0..7)::7 - [] + MarkupBlock - [0..7)::7 + MarkupTagHelperElement - [0..7)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [0..7)::7 + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure2.stree.txt index aca74df1f..ef3f989c7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure2.stree.txt @@ -1,6 +1,23 @@ -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) - Tokens:1 - SyntaxKind.Text;[text]; +RazorDocument - [0..19)::19 - [] + MarkupBlock - [0..19)::19 + MarkupTagHelperElement - [0..19)::19 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [0..19)::19 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..18)::12 - type - SingleQuotes - Unbound - [ type='text'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..11)::4 - [type] - Gen - SpanEditHandler;Accepts:Any + Text;[type]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..17)::4 + MarkupLiteralAttributeValue - [13..17)::4 - [text] + MarkupTextLiteral - [13..17)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [18..19)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure3.stree.txt index 5940efaad..6ab1d8b0a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure3.stree.txt @@ -1,5 +1,14 @@ -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 - +RazorDocument - [0..14)::14 - [] + MarkupBlock - [0..14)::14 + MarkupTagHelperElement - [0..7)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [0..7)::7 + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagHelperElement - [7..14)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [7..14)::7 + MarkupTextLiteral - [7..14)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure4.stree.txt index e79b6cc22..a0ed923db 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure4.stree.txt @@ -1,8 +1,29 @@ -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) - Tokens:1 - SyntaxKind.Text;[text]; - Tag block - Gen - 7 - (19:0,19) - input - InputTagHelper - StartTagOnly - +RazorDocument - [0..26)::26 - [] + MarkupBlock - [0..26)::26 + MarkupTagHelperElement - [0..19)::19 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [0..19)::19 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..18)::12 - type - SingleQuotes - Unbound - [ type='text'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..11)::4 - [type] - Gen - SpanEditHandler;Accepts:Any + Text;[type]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..17)::4 + MarkupLiteralAttributeValue - [13..17)::4 - [text] + MarkupTextLiteral - [13..17)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [18..19)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperElement - [19..26)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [19..26)::7 + MarkupTextLiteral - [19..26)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure5.stree.txt index f78886eb6..39b59d94d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CanHandleWithoutEndTagTagStructure5.stree.txt @@ -1,16 +1,25 @@ -Markup block - Gen - 25 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..25)::25 - [
        ] + MarkupBlock - [0..25)::25 + MarkupTagBlock - [0..5)::5 - [
        ] + MarkupTextLiteral - [0..5)::5 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperElement - [5..12)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [5..12)::7 + MarkupTextLiteral - [5..12)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagHelperElement - [12..19)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [12..19)::7 + MarkupTextLiteral - [12..19)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagBlock - [19..25)::6 - [
        ] + MarkupTextLiteral - [19..25)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes1.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes1.cspans.txt index e69de29bb..aa429ff6c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes1.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes1.cspans.txt @@ -0,0 +1 @@ +Code span at (13:0,13 [0] ) (Accepts:AnyExceptNewline) - Parent: Tag block at (0:0,0 [17] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes1.stree.txt index 94077ed99..a68ddb1c1 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes1.stree.txt @@ -1,5 +1,23 @@ -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) +RazorDocument - [0..17)::17 - [] + MarkupBlock - [0..17)::17 + MarkupTagHelperElement - [0..17)::17 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..17)::17 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..14)::9 - bound - SingleQuotes - Bound - [ bound=''] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..13)::0 + CSharpExpressionLiteral - [13..13)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [14..17)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes10.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes10.cspans.txt index e69de29bb..aa429ff6c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes10.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes10.cspans.txt @@ -0,0 +1 @@ +Code span at (13:0,13 [0] ) (Accepts:AnyExceptNewline) - Parent: Tag block at (0:0,0 [17] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes10.stree.txt index 1e5707cb2..5b506a347 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes10.stree.txt @@ -1,5 +1,23 @@ -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) +RazorDocument - [0..17)::17 - [] + MarkupBlock - [0..17)::17 + MarkupTagHelperElement - [0..17)::17 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..17)::17 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..14)::9 - BouND - SingleQuotes - Bound - [ BouND=''] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [BouND] - Gen - SpanEditHandler;Accepts:Any + Text;[BouND]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..13)::0 + CSharpExpressionLiteral - [13..13)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [14..17)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes11.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes11.cspans.txt index e69de29bb..92552dfb4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes11.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes11.cspans.txt @@ -0,0 +1,2 @@ +Code span at (13:0,13 [0] ) (Accepts:AnyExceptNewline) - Parent: Tag block at (0:0,0 [29] ) +Code span at (25:0,25 [0] ) (Accepts:AnyExceptNewline) - Parent: Tag block at (0:0,0 [29] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes11.stree.txt index 895d34342..01b040e26 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes11.stree.txt @@ -1,7 +1,35 @@ -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) +RazorDocument - [0..29)::29 - [] + MarkupBlock - [0..29)::29 + MarkupTagHelperElement - [0..29)::29 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..29)::29 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..14)::9 - BOUND - SingleQuotes - Bound - [ BOUND=''] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [BOUND] - Gen - SpanEditHandler;Accepts:Any + Text;[BOUND]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..13)::0 + CSharpExpressionLiteral - [13..13)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttribute - [14..26)::12 - bOUnd - DoubleQuotes - Bound - [ bOUnd=""] + MarkupTextLiteral - [14..18)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [18..23)::5 - [bOUnd] - Gen - SpanEditHandler;Accepts:Any + Text;[bOUnd]; + Equals;[=]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [25..25)::0 + CSharpExpressionLiteral - [25..25)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTextLiteral - [25..26)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [26..29)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes12.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes12.stree.txt index 3f7219cfd..bfe9ad835 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes12.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes12.stree.txt @@ -1,8 +1,36 @@ -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) - Tokens:0 - nAMe - SingleQuotes - Markup span - Gen - [john] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.Text;[john]; +RazorDocument - [0..32)::32 - [] + MarkupBlock - [0..32)::32 + MarkupTagHelperElement - [0..32)::32 - myth[StartTagAndEndTag] - mythTagHelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..12)::7 - BOUND - DoubleQuotes - Bound - [ BOUND=] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [BOUND] - Gen - SpanEditHandler;Accepts:Any + Text;[BOUND]; + Equals;[=]; + MarkupTagHelperAttributeValue - [12..12)::0 + CSharpExpressionLiteral - [12..12)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTagHelperAttribute - [12..24)::12 - nAMe - SingleQuotes - Bound - [ nAMe='john'] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..17)::4 - [nAMe] - Gen - SpanEditHandler;Accepts:Any + Text;[nAMe]; + Equals;[=]; + MarkupTextLiteral - [18..19)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [19..23)::4 + MarkupTextLiteral - [19..23)::4 - [john] - Gen - SpanEditHandler;Accepts:Any + Text;[john]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [24..25)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [25..32)::7 + MarkupTextLiteral - [25..32)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[myth]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes13.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes13.stree.txt index b845c365b..e24647973 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes13.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes13.stree.txt @@ -1,15 +1,37 @@ -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) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 5 - (17:0,17) - Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (17:0,17) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [true] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Tokens:1 - SyntaxKind.Keyword;[true]; - Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (22:0,22) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +RazorDocument - [0..28)::28 - [] + MarkupBlock - [0..28)::28 + MarkupTagHelperElement - [0..28)::28 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..28)::28 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..25)::20 - bound - SingleQuotes - Bound - [ bound=' @true '] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..24)::11 + MarkupBlock - [13..22)::9 + CSharpExpressionLiteral - [13..17)::4 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + CSharpCodeBlock - [17..22)::5 + CSharpImplicitExpression - [17..22)::5 + CSharpTransition - [17..17)::0 + Transition;[]; + CSharpImplicitExpressionBody - [17..22)::5 + CSharpCodeBlock - [17..22)::5 + CSharpExpressionLiteral - [17..18)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + CSharpExpressionLiteral - [18..22)::4 - [true] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Keyword;[true]; + CSharpExpressionLiteral - [22..24)::2 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + MarkupTextLiteral - [24..25)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [25..28)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes14.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes14.stree.txt index c9d3cd8f4..eba1d7ab6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes14.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes14.stree.txt @@ -1,19 +1,41 @@ -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) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 7 - (17:0,17) - Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (17:0,17) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [(] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Tokens:1 - SyntaxKind.LeftParenthesis;[(]; - Code span - Gen - [true] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (19:0,19) - Tokens:1 - SyntaxKind.Keyword;[true]; - Code span - Gen - [)] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (23:0,23) - Tokens:1 - SyntaxKind.RightParenthesis;[)]; - Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (24:0,24) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +RazorDocument - [0..30)::30 - [] + MarkupBlock - [0..30)::30 + MarkupTagHelperElement - [0..30)::30 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..30)::30 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..27)::22 - bound - SingleQuotes - Bound - [ bound=' @(true) '] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..26)::13 + MarkupBlock - [13..24)::11 + CSharpExpressionLiteral - [13..17)::4 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + CSharpCodeBlock - [17..24)::7 + CSharpImplicitExpression - [17..24)::7 + CSharpTransition - [17..17)::0 + Transition;[]; + CSharpImplicitExpressionBody - [17..24)::7 + CSharpCodeBlock - [17..24)::7 + CSharpExpressionLiteral - [17..18)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + CSharpExpressionLiteral - [18..19)::1 - [(] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + LeftParenthesis;[(]; + CSharpExpressionLiteral - [19..23)::4 - [true] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Keyword;[true]; + CSharpExpressionLiteral - [23..24)::1 - [)] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + RightParenthesis;[)]; + CSharpExpressionLiteral - [24..26)::2 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + MarkupTextLiteral - [26..27)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [27..30)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes2.stree.txt index 5e1b11242..57eb5f5e2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes2.stree.txt @@ -1,7 +1,25 @@ -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) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[true]; +RazorDocument - [0..25)::25 - [] + MarkupBlock - [0..25)::25 + MarkupTagHelperElement - [0..25)::25 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..22)::17 - bound - SingleQuotes - Bound - [ bound=' true'] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..21)::8 + CSharpExpressionLiteral - [13..21)::8 - [ true] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + Text;[true]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [22..25)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes3.stree.txt index 4bb87440b..f231f9a73 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes3.stree.txt @@ -1,6 +1,24 @@ -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) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +RazorDocument - [0..21)::21 - [] + MarkupBlock - [0..21)::21 + MarkupTagHelperElement - [0..21)::21 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..21)::21 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..18)::13 - bound - SingleQuotes - Bound - [ bound=' '] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..17)::4 + CSharpExpressionLiteral - [13..17)::4 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [18..21)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes4.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes4.cspans.txt index e69de29bb..dddc839de 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes4.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes4.cspans.txt @@ -0,0 +1,2 @@ +Code span at (13:0,13 [0] ) (Accepts:AnyExceptNewline) - Parent: Tag block at (0:0,0 [27] ) +Code span at (23:0,23 [0] ) (Accepts:AnyExceptNewline) - Parent: Tag block at (0:0,0 [27] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes4.stree.txt index 969f962e5..847c8f4e8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes4.stree.txt @@ -1,7 +1,35 @@ -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) +RazorDocument - [0..27)::27 - [] + MarkupBlock - [0..27)::27 + MarkupTagHelperElement - [0..27)::27 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..27)::27 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..14)::9 - bound - SingleQuotes - Bound - [ bound=''] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..13)::0 + CSharpExpressionLiteral - [13..13)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttribute - [14..24)::10 - bound - DoubleQuotes - Bound - [ bound=""] + MarkupTextLiteral - [14..16)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [16..21)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [22..23)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [23..23)::0 + CSharpExpressionLiteral - [23..23)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [24..27)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes5.stree.txt index 9fe79d886..6a180b1e5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes5.stree.txt @@ -1,9 +1,37 @@ -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) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - bound - DoubleQuotes - Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (24:0,24) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +RazorDocument - [0..30)::30 - [] + MarkupBlock - [0..30)::30 + MarkupTagHelperElement - [0..30)::30 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..30)::30 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..15)::10 - bound - SingleQuotes - Bound - [ bound=' '] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..14)::1 + CSharpExpressionLiteral - [13..14)::1 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + MarkupTextLiteral - [14..15)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttribute - [15..27)::12 - bound - DoubleQuotes - Bound - [ bound=" "] + MarkupTextLiteral - [15..17)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..22)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [24..26)::2 + CSharpExpressionLiteral - [24..26)::2 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + MarkupTextLiteral - [26..27)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [27..30)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes6.stree.txt index 74bc8eaad..6d2664ae0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes6.stree.txt @@ -1,8 +1,32 @@ -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) - Tokens:1 - SyntaxKind.Text;[true]; - bound - DoubleQuotes - Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (25:0,25) - Tokens:0 +RazorDocument - [0..29)::29 - [] + MarkupBlock - [0..29)::29 + MarkupTagHelperElement - [0..29)::29 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..29)::29 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..18)::13 - bound - SingleQuotes - Bound - [ bound='true'] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..17)::4 + CSharpExpressionLiteral - [13..17)::4 - [true] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[true]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttribute - [18..25)::7 - bound - DoubleQuotes - Bound - [ bound=] + MarkupTextLiteral - [18..19)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [19..24)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTagHelperAttributeValue - [25..25)::0 + CSharpExpressionLiteral - [25..25)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTextLiteral - [25..29)::4 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes7.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes7.cspans.txt index 247b797ce..ebd543828 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes7.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes7.cspans.txt @@ -1 +1,2 @@ Code span at (12:0,12 [0] ) (Accepts:AnyExceptNewline) - Parent: Tag block at (0:0,0 [23] ) +Markup span at (19:0,19 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [23] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes7.stree.txt index a8883ba89..2a5a6dce2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes7.stree.txt @@ -1,7 +1,31 @@ -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) - Tokens:0 - name - SingleQuotes - Markup block - Gen - 0 - (0:0,0) +RazorDocument - [0..23)::23 - [] + MarkupBlock - [0..23)::23 + MarkupTagHelperElement - [0..23)::23 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..23)::23 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..12)::7 - bound - DoubleQuotes - Bound - [ bound=] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTagHelperAttributeValue - [12..12)::0 + CSharpExpressionLiteral - [12..12)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTagHelperAttribute - [12..20)::8 - name - SingleQuotes - Bound - [ name=''] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..17)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTextLiteral - [18..19)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [19..19)::0 + MarkupTextLiteral - [19..19)::0 - [] + MarkupTextLiteral - [19..20)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [20..23)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes8.stree.txt index 055da346b..e42c4f27c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes8.stree.txt @@ -1,8 +1,32 @@ -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) - Tokens:0 - name - SingleQuotes - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +RazorDocument - [0..25)::25 - [] + MarkupBlock - [0..25)::25 + MarkupTagHelperElement - [0..25)::25 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..12)::7 - bound - DoubleQuotes - Bound - [ bound=] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTagHelperAttributeValue - [12..12)::0 + CSharpExpressionLiteral - [12..12)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTagHelperAttribute - [12..22)::10 - name - SingleQuotes - Bound - [ name=' '] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..17)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTextLiteral - [18..19)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [19..21)::2 + MarkupTextLiteral - [19..21)::2 - [ ] + Whitespace;[ ]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [22..25)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes9.stree.txt index 35e2d2f71..005e8ca3f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForEmptyTagHelperBoundAttributes9.stree.txt @@ -1,13 +1,53 @@ -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) - Tokens:1 - SyntaxKind.Text;[true]; - name - SingleQuotes - Markup span - Gen - [john] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:1 - SyntaxKind.Text;[john]; - bound - DoubleQuotes - Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (37:0,37) - Tokens:0 - name - DoubleQuotes - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Tokens:0 +RazorDocument - [0..46)::46 - [] + MarkupBlock - [0..46)::46 + MarkupTagHelperElement - [0..46)::46 - myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..46)::46 + MarkupTextLiteral - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[myth]; + MarkupTagHelperAttribute - [5..18)::13 - bound - SingleQuotes - Bound - [ bound='true'] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [13..17)::4 + CSharpExpressionLiteral - [13..17)::4 - [true] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[true]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttribute - [18..30)::12 - name - SingleQuotes - Bound - [ name='john'] + MarkupTextLiteral - [18..19)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [19..23)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTextLiteral - [24..25)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [25..29)::4 + MarkupTextLiteral - [25..29)::4 - [john] - Gen - SpanEditHandler;Accepts:Any + Text;[john]; + MarkupTextLiteral - [29..30)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttribute - [30..37)::7 - bound - DoubleQuotes - Bound - [ bound=] + MarkupTextLiteral - [30..31)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [31..36)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTagHelperAttributeValue - [37..37)::0 + CSharpExpressionLiteral - [37..37)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTagHelperAttribute - [37..43)::6 - name - DoubleQuotes - Bound - [ name=] + MarkupTextLiteral - [37..38)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [38..42)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTagHelperAttributeValue - [43..43)::0 + MarkupTextLiteral - [43..43)::0 - [] + MarkupTextLiteral - [43..46)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper1.stree.txt index a6461887d..2ecc04668 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper1.stree.txt @@ -1,3 +1,7 @@ -Markup block - Gen - 2 - (0:0,0) - Tag block - Gen - 2 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper2.stree.txt index fde439812..186cf6f22 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper2.stree.txt @@ -1,3 +1,13 @@ -Markup block - Gen - 6 - (0:0,0) - Tag block - Gen - 6 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [3..6)::3 + MarkupTextLiteral - [3..6)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper3.stree.txt index ca5b20b10..03d64a025 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper3.stree.txt @@ -1,5 +1,13 @@ -Markup block - Gen - 10 - (0:0,0) - Tag block - Gen - 10 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        - Tag block - Gen - 7 - (3:0,3) - strong - strongtaghelper - StartTagAndEndTag - ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..10)::7 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [3..10)::7 + MarkupTextLiteral - [3..10)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper4.stree.txt index e3c28c4d4..a2c7689c0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper4.stree.txt @@ -1,5 +1,14 @@ -Markup block - Gen - 11 - (0:0,0) - Tag block - Gen - 11 - (0:0,0) - strong - strongtaghelper - StartTagAndEndTag - - 3 - (8:0,8) - p - ptaghelper - StartTagAndEndTag -

        +RazorDocument - [0..11)::11 - [] + MarkupBlock - [0..11)::11 + MarkupTagHelperElement - [0..11)::11 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [0..8)::8 + MarkupTextLiteral - [0..8)::8 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + Whitespace;[ ]; + MarkupTagHelperElement - [8..11)::3 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [8..11)::3 + MarkupTextLiteral - [8..11)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper5.stree.txt index 605e599c3..257185be8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper5.stree.txt @@ -1,3 +1,13 @@ -Markup block - Gen - 16 - (0:0,0) - Tag block - Gen - 16 - (0:0,0) - strong - strongtaghelper - StartTagAndEndTag - - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + Whitespace;[ ]; + MarkupTagHelperEndTag - [8..16)::8 + MarkupTextLiteral - [8..16)::8 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper6.stree.txt index 509e76037..eb31c8240 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper6.stree.txt @@ -1,20 +1,25 @@ -Markup block - Gen - 16 - (0:0,0) - Tag block - Gen - 1 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 1 - (1:0,1) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 9 - (2:0,2) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ ] - [11..12) - FullWidth: 1 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 1 - (12:0,12) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 3 - (13:0,13) - p - ptaghelper - StartTagAndEndTag -

        +RazorDocument - [0..16)::16 - [<< <

        ] + MarkupBlock - [0..16)::16 + MarkupTagBlock - [0..1)::1 - [<] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagBlock - [1..2)::1 - [<] + MarkupTextLiteral - [1..2)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagBlock - [2..11)::9 - [] + MarkupTextLiteral - [2..11)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [11..12)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [12..13)::1 - [<] + MarkupTextLiteral - [12..13)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [13..16)::3 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [13..16)::3 + MarkupTextLiteral - [13..16)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper7.stree.txt index 336b1dea6..978081f9b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper7.stree.txt @@ -1,22 +1,26 @@ -Markup block - Gen - 16 - (0:0,0) - Tag block - Gen - 1 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 1 - (1:0,1) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 14 - (2:0,2) - strong - strongtaghelper - StartTagAndEndTag - - SyntaxKind.HtmlTextLiteral - [> ] - [10..12) - FullWidth: 2 - Slots: 1 - SyntaxKind.List - [> ] - [10..12) - FullWidth: 2 - Slots: 2 - SyntaxKind.CloseAngle;[>]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 1 - (12:0,12) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 2 - (13:0,13) - Markup span - Gen - [<>] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:2 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..16)::16 - [<<> <<>>] + MarkupBlock - [0..16)::16 + MarkupTagBlock - [0..1)::1 - [<] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagBlock - [1..2)::1 - [<] + MarkupTextLiteral - [1..2)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [2..16)::14 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [2..10)::8 + MarkupTextLiteral - [2..10)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [10..12)::2 - [> ] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + Whitespace;[ ]; + MarkupTagBlock - [12..13)::1 - [<] + MarkupTextLiteral - [12..13)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagBlock - [13..15)::2 - [<>] + MarkupTextLiteral - [13..15)::2 - [<>] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + CloseAngle;[>]; + MarkupTextLiteral - [15..16)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper8.stree.txt index d82821826..3cf0bb56b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelper8.stree.txt @@ -1,13 +1,24 @@ -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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..25)::25 - [

        ] + MarkupBlock - [0..25)::25 + MarkupTagBlock - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[str]; + MarkupTagHelperElement - [4..25)::21 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [4..12)::8 + MarkupTextLiteral - [4..12)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [12..16)::4 - [

        ] + MarkupTextLiteral - [12..16)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [16..25)::9 + MarkupTextLiteral - [16..25)::9 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes1.stree.txt index 22d283205..8d96abb6a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes1.stree.txt @@ -1,5 +1,17 @@ -Markup block - Gen - 10 - (0:0,0) - Tag block - Gen - 10 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..10)::8 - class - SingleQuotes - Unbound - [ class='] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [10..10)::0 + MarkupTextLiteral - [10..10)::0 - [] diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes10.stree.txt index 1c6dcfdb7..1e2a6f13b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes10.stree.txt @@ -1,6 +1,28 @@ -Markup block - Gen - 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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..31)::31 - [

        ] + MarkupBlock - [0..31)::31 + MarkupTagHelperElement - [0..31)::31 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..31)::31 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class - NoQuotes - Unbound - [ class=btn] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..12)::3 + MarkupLiteralAttributeValue - [9..12)::3 - [btn] + MarkupTextLiteral - [9..12)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [12..31)::19 - [" bar="foo"] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + Whitespace;[ ]; + Text;[bar]; + Equals;[=]; + DoubleQuote;["]; + Text;[foo]; + DoubleQuote;["]; + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes11.stree.txt index aee82e9ea..b557217f0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes11.stree.txt @@ -1,14 +1,37 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - [ bar=] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; - SyntaxKind.Equals;[=]; - foo - Minimized - Tag block - Gen - 8 - (23:0,23) - strong - strongtaghelper - StartTagAndEndTag - +RazorDocument - [0..31)::31 - [

        ] + MarkupBlock - [0..31)::31 + MarkupTagHelperElement - [0..31)::31 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..23)::23 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..19)::17 - class - DoubleQuotes - Unbound - [ class="btn bar="] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..18)::8 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupLiteralAttributeValue - [13..18)::5 - [ bar=] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..18)::4 - [bar=] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTextLiteral - [18..19)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupMinimizedTagHelperAttribute - [19..23)::4 - foo" - Minimized - Unbound - [foo"] + MarkupTextLiteral - [19..23)::4 - [foo"] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + DoubleQuote;["]; + MarkupTagHelperElement - [23..31)::8 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [23..31)::8 + MarkupTextLiteral - [23..31)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes12.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes12.stree.txt index 622e414b0..a1e7d384b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes12.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes12.stree.txt @@ -1,12 +1,39 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - [ bar=] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[bar]; - SyntaxKind.Equals;[=]; - foo - Minimized +RazorDocument - [0..28)::28 - [

        ] + MarkupBlock - [0..28)::28 + MarkupTagHelperElement - [0..28)::28 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..24)::24 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..19)::17 - class - DoubleQuotes - Unbound - [ class="btn bar="] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..18)::8 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupLiteralAttributeValue - [13..18)::5 - [ bar=] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..18)::4 - [bar=] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTextLiteral - [18..19)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupMinimizedTagHelperAttribute - [19..23)::4 - foo" - Minimized - Unbound - [foo"] + MarkupTextLiteral - [19..23)::4 - [foo"] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + DoubleQuote;["]; + MarkupTextLiteral - [23..24)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [24..28)::4 + MarkupTextLiteral - [24..28)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes13.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes13.stree.txt index d1b413266..9fddb8a45 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes13.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes13.stree.txt @@ -1,3 +1,32 @@ -Markup block - Gen - 33 - (0:0,0) - Tag block - Gen - 33 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        +RazorDocument - [0..33)::33 - [

        ] + MarkupBlock - [0..33)::33 + MarkupTagHelperElement - [0..33)::33 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..29)::29 + MarkupTextLiteral - [0..3)::3 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + Whitespace;[ ]; + CSharpCodeBlock - [3..16)::13 + CSharpImplicitExpression - [3..16)::13 + CSharpTransition - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [4..16)::12 + CSharpCodeBlock - [4..16)::12 + CSharpExpressionLiteral - [4..16)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [16..29)::13 - [ class="btn">] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[class]; + Equals;[=]; + DoubleQuote;["]; + Text;[btn]; + DoubleQuote;["]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [29..33)::4 + MarkupTextLiteral - [29..33)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes14.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes14.stree.txt index 1f20b3328..8fd1e19d1 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes14.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes14.stree.txt @@ -1,3 +1,30 @@ -Markup block - Gen - 27 - (0:0,0) - Tag block - Gen - 27 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        +RazorDocument - [0..27)::27 - [

        ] + MarkupBlock - [0..27)::27 + MarkupTagHelperElement - [0..27)::27 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..23)::23 + MarkupTextLiteral - [0..3)::3 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + Whitespace;[ ]; + CSharpCodeBlock - [3..16)::13 + CSharpImplicitExpression - [3..16)::13 + CSharpTransition - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [4..16)::12 + CSharpCodeBlock - [4..16)::12 + CSharpExpressionLiteral - [4..16)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [16..23)::7 - [="btn">] - Gen - SpanEditHandler;Accepts:Any + Equals;[=]; + DoubleQuote;["]; + Text;[btn]; + DoubleQuote;["]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [23..27)::4 + MarkupTextLiteral - [23..27)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes15.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes15.stree.txt index cc5b56ea8..c5701d7ca 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes15.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes15.stree.txt @@ -1,13 +1,33 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (10:0,10) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..28)::28 - [

        ] + MarkupBlock - [0..28)::28 + MarkupTagHelperElement - [0..28)::28 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..28)::28 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..22)::20 - class - DoubleQuotes - Unbound - [ class=@DateTime.Now] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..22)::13 + MarkupDynamicAttributeValue - [9..22)::13 - [@DateTime.Now] + GenericBlock - [9..22)::13 + CSharpCodeBlock - [9..22)::13 + CSharpImplicitExpression - [9..22)::13 + CSharpTransition - [9..10)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [10..22)::12 + CSharpCodeBlock - [10..22)::12 + CSharpExpressionLiteral - [10..22)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [22..28)::6 - [">

        ] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + CloseAngle;[>]; + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes16.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes16.stree.txt index 95fd33dca..14dbf9afa 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes16.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes16.stree.txt @@ -1,13 +1,25 @@ -Markup block - Gen - 15 - (0:0,0) - Tag block - Gen - 15 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..15)::13 - class - DoubleQuotes - Unbound - [ class="@do {] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..15)::5 + MarkupDynamicAttributeValue - [10..15)::5 - [@do {] + GenericBlock - [10..15)::5 + CSharpCodeBlock - [10..15)::5 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [11..15)::4 - [do {] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes17.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes17.stree.txt index a5d10c090..6647fcda0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes17.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes17.stree.txt @@ -1,14 +1,26 @@ -Markup block - Gen - 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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do {">

        ] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:4 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.StringLiteral;[">

        ];RZ1000(15:0,15 [1] ) +RazorDocument - [0..21)::21 - [

        ] + MarkupBlock - [0..21)::21 + MarkupTagHelperElement - [0..21)::21 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..21)::21 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..21)::19 - class - DoubleQuotes - Unbound - [ class="@do {">

        ] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..21)::11 + MarkupDynamicAttributeValue - [10..21)::11 - [@do {">

        ] + GenericBlock - [10..21)::11 + CSharpCodeBlock - [10..21)::11 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [11..21)::10 - [do {">

        ] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + StringLiteral;[">

        ];RZ1000(15:0,15 [1] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes18.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes18.stree.txt index 1903f8d6b..fee2f382b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes18.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes18.stree.txt @@ -1,3 +1,29 @@ -Markup block - Gen - 33 - (0:0,0) - Tag block - Gen - 33 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        +RazorDocument - [0..33)::33 - [

        ] + MarkupBlock - [0..33)::33 + MarkupTagHelperElement - [0..33)::33 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..33)::33 + MarkupTextLiteral - [0..3)::3 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + Whitespace;[ ]; + CSharpCodeBlock - [3..33)::30 + CSharpTransition - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [4..29)::25 - [do { someattribute="btn">] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[someattribute]; + Assign;[=]; + StringLiteral;["btn"]; + GreaterThan;[>]; + MarkupBlock - [29..33)::4 + MarkupTagBlock - [29..33)::4 - [

        ] + MarkupTextLiteral - [29..33)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes19.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes19.stree.txt index aeef6d802..45be04ab9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes19.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes19.stree.txt @@ -1,6 +1,41 @@ -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) - Tokens:1 - SyntaxKind.Text;[some]; +RazorDocument - [0..38)::38 - [

        ] + MarkupBlock - [0..38)::38 + MarkupTagHelperElement - [0..38)::38 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..34)::34 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..13)::11 - class - NoQuotes - Unbound - [ class=some] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..13)::4 + MarkupLiteralAttributeValue - [9..13)::4 - [some] + MarkupTextLiteral - [9..13)::4 - [some] - Gen - SpanEditHandler;Accepts:Any + Text;[some]; + MarkupTextLiteral - [13..26)::13 - [=thing attr="] - Gen - SpanEditHandler;Accepts:Any + Equals;[=]; + Text;[thing]; + Whitespace;[ ]; + Text;[attr]; + Equals;[=]; + DoubleQuote;["]; + CSharpCodeBlock - [26..32)::6 + CSharpImplicitExpression - [26..32)::6 + CSharpTransition - [26..27)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [27..32)::5 + CSharpCodeBlock - [27..32)::5 + CSharpExpressionLiteral - [27..32)::5 - [value] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[value]; + MarkupTextLiteral - [32..34)::2 - [">] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [34..38)::4 + MarkupTextLiteral - [34..38)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes2.stree.txt index 6dea6ef53..74ca653ce 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes2.stree.txt @@ -1,6 +1,27 @@ -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) - Tokens:1 - SyntaxKind.Text;[false]; +RazorDocument - [0..24)::24 - [

        ] + MarkupBlock - [0..24)::24 + MarkupTagHelperElement - [0..24)::24 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..24)::24 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - bar - DoubleQuotes - Unbound - [ bar="false"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..6)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTextLiteral - [7..8)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [8..13)::5 + MarkupLiteralAttributeValue - [8..13)::5 - [false] + MarkupTextLiteral - [8..13)::5 - [false] - Gen - SpanEditHandler;Accepts:Any + Text;[false]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..24)::10 - [" ] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + Whitespace;[ ]; + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes3.stree.txt index 79a06f3d1..dc36bfdea 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes3.stree.txt @@ -1,12 +1,26 @@ -Markup block - Gen - 23 - (0:0,0) - Tag block - Gen - 23 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ] + MarkupBlock - [0..23)::23 + MarkupTagHelperElement - [0..23)::23 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..23)::23 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..23)::21 - bar - SingleQuotes - Unbound - [ bar='false ] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..6)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTextLiteral - [7..8)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [8..23)::15 + MarkupLiteralAttributeValue - [8..13)::5 - [false] + MarkupTextLiteral - [8..13)::5 - [false] - Gen - SpanEditHandler;Accepts:Any + Text;[false]; + MarkupLiteralAttributeValue - [13..23)::10 - [ ] + MarkupTextLiteral - [13..15)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..23)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes4.stree.txt index ef7059ece..61bff8f7a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes4.stree.txt @@ -1,11 +1,27 @@ -Markup block - Gen - 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) - Tokens:1 - SyntaxKind.Text;[false]; - Markup span - Gen - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..23)::21 - bar - SingleQuotes - Unbound - [ bar='false - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..6)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTextLiteral - [7..8)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [8..22)::14 + MarkupLiteralAttributeValue - [8..13)::5 - [false] + MarkupTextLiteral - [8..13)::5 - [false] - Gen - SpanEditHandler;Accepts:Any + Text;[false]; + MarkupLiteralAttributeValue - [13..22)::9 - [ - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..22)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTextLiteral - [22..23)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes5.stree.txt index ed4e73b8b..dc2f7ef2d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes5.stree.txt @@ -1,6 +1,19 @@ -Markup block - Gen - 13 - (0:0,0) - Tag block - Gen - 13 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        - [false] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:1 - SyntaxKind.Text;[false]; +RazorDocument - [0..13)::13 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - bar - NoQuotes - Unbound - [ bar=false] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..6)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTagHelperAttributeValue - [7..12)::5 + MarkupLiteralAttributeValue - [7..12)::5 - [false] + MarkupTextLiteral - [7..12)::5 - [false] - Gen - SpanEditHandler;Accepts:Any + Text;[false]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes6.stree.txt index 5e5ad9ed9..3faff3a98 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes6.stree.txt @@ -1,7 +1,20 @@ -Markup block - Gen - 14 - (0:0,0) - Tag block - Gen - 14 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - bar - DoubleQuotes - Unbound - [ bar="false'] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..6)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTextLiteral - [7..8)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [8..14)::6 + MarkupLiteralAttributeValue - [8..14)::6 - [false'] + MarkupTextLiteral - [8..14)::6 - [false'] - Gen - SpanEditHandler;Accepts:Any + Text;[false]; + SingleQuote;[']; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes7.stree.txt index 2ea912876..6b63b1023 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes7.stree.txt @@ -1,15 +1,29 @@ -Markup block - Gen - 20 - (0:0,0) - Tag block - Gen - 20 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ] + MarkupBlock - [0..20)::20 + MarkupTagHelperElement - [0..20)::20 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..20)::20 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..20)::18 - bar - DoubleQuotes - Unbound - [ bar="false' >

        ] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..6)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + Equals;[=]; + MarkupTextLiteral - [7..8)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [8..20)::12 + MarkupLiteralAttributeValue - [8..14)::6 - [false'] + MarkupTextLiteral - [8..14)::6 - [false'] - Gen - SpanEditHandler;Accepts:Any + Text;[false]; + SingleQuote;[']; + MarkupLiteralAttributeValue - [14..20)::6 - [ >

        ] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..20)::5 - [>

        ] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes8.stree.txt index 7fea4843e..6fcfe9a11 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes8.stree.txt @@ -1,7 +1,23 @@ -Markup block - Gen - 18 - (0:0,0) - Tag block - Gen - 18 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        - 8 - (10:0,10) - strong - strongtaghelper - StartTagAndEndTag - +RazorDocument - [0..18)::18 - [

        ] + MarkupBlock - [0..18)::18 + MarkupTagHelperElement - [0..18)::18 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..10)::10 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..6)::4 - foo - Minimized - Unbound - [ foo] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..6)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupMinimizedTagHelperAttribute - [6..10)::4 - bar - Minimized - Unbound - [ bar] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..10)::3 - [bar] - Gen - SpanEditHandler;Accepts:Any + Text;[bar]; + MarkupTagHelperElement - [10..18)::8 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [10..18)::8 + MarkupTextLiteral - [10..18)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes9.stree.txt index da978e235..18f681e64 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesErrorForMalformedTagHelpersWithAttributes9.stree.txt @@ -1,6 +1,24 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..25)::25 - [

        ] + MarkupBlock - [0..25)::25 + MarkupTagHelperElement - [0..25)::25 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class - NoQuotes - Unbound - [ class=btn] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..12)::3 + MarkupLiteralAttributeValue - [9..12)::3 - [btn] + MarkupTextLiteral - [9..12)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [12..25)::13 - [" bar] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + Whitespace;[ ]; + Text;[bar]; + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes1.stree.txt index 2d888961f..515061b10 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes1.stree.txt @@ -1,6 +1,24 @@ -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) - Tokens:1 - SyntaxKind.Text;[12]; +RazorDocument - [0..19)::19 - [] + MarkupBlock - [0..19)::19 + MarkupTagHelperElement - [0..19)::19 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..19)::19 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..16)::9 - age - DoubleQuotes - Bound - [ age="12"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..11)::3 - [age] - Gen - SpanEditHandler;Accepts:Any + Text;[age]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [13..15)::2 + CSharpExpressionLiteral - [13..15)::2 - [12] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[12]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [16..19)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes10.stree.txt index 2e6b0917f..08d34db89 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes10.stree.txt @@ -1,18 +1,55 @@ -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) - Tokens:1 - SyntaxKind.Text;[12]; - birthday - DoubleQuotes - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (27:0,27) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (48:0,48) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [BoundStringAttribute] - SpanEditHandler;Accepts:Any - (49:0,49) - Tokens:1 - SyntaxKind.Text;[BoundStringAttribute]; +RazorDocument - [0..73)::73 - [] + MarkupBlock - [0..73)::73 + MarkupTagHelperElement - [0..73)::73 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..73)::73 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..16)::9 - age - DoubleQuotes - Bound - [ age="12"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..11)::3 - [age] - Gen - SpanEditHandler;Accepts:Any + Text;[age]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [13..15)::2 + CSharpExpressionLiteral - [13..15)::2 - [12] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[12]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [16..40)::24 - birthday - DoubleQuotes - Bound - [ birthday="DateTime.Now"] + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..25)::8 - [birthday] - Gen - SpanEditHandler;Accepts:Any + Text;[birthday]; + Equals;[=]; + MarkupTextLiteral - [26..27)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [27..39)::12 + CSharpExpressionLiteral - [27..39)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[DateTime.Now]; + MarkupTextLiteral - [39..40)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [40..70)::30 - name - DoubleQuotes - Bound - [ name="@@BoundStringAttribute"] + MarkupTextLiteral - [40..41)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [41..45)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTextLiteral - [46..47)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [47..69)::22 + MarkupBlock - [47..49)::2 + MarkupTextLiteral - [47..48)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupEphemeralTextLiteral - [48..49)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupTextLiteral - [49..69)::20 - [BoundStringAttribute] - Gen - SpanEditHandler;Accepts:Any + Text;[BoundStringAttribute]; + MarkupTextLiteral - [69..70)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [70..73)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes11.stree.txt index b1d8258a7..704d84f6d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes11.stree.txt @@ -1,41 +1,85 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (14:0,14) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup block - Gen - 7 - (15:0,15) - Code span - Gen - [] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (15:0,15) - Tokens:1 - SyntaxKind.Unknown;[]; - Expression block - Gen - 7 - (15:0,15) - Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (15:0,15) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [(] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (16:0,16) - Tokens:1 - SyntaxKind.LeftParenthesis;[(]; - Code span - Gen - [11+1] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (17:0,17) - Tokens:3 - SyntaxKind.IntegerLiteral;[11]; - SyntaxKind.Plus;[+]; - SyntaxKind.IntegerLiteral;[1]; - Code span - Gen - [)] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (21:0,21) - Tokens:1 - SyntaxKind.RightParenthesis;[)]; - birthday - DoubleQuotes - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (34:0,34) - Tokens:1 - SyntaxKind.Text;[DateTime.Now]; - name - DoubleQuotes - Markup block - Gen - 19 - (54:0,54) - Markup span - Gen - [Time:] - SpanEditHandler;Accepts:Any - (54:0,54) - Tokens:1 - SyntaxKind.Text;[Time:]; - Markup block - Gen - 14 - (59:0,59) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (59:0,59) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (60:0,60) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (60:0,60) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (61:0,61) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..77)::77 - [] + MarkupBlock - [0..77)::77 + MarkupTagHelperElement - [0..77)::77 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..77)::77 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..23)::16 - age - DoubleQuotes - Bound - [ age="@@@(11+1)"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..11)::3 - [age] - Gen - SpanEditHandler;Accepts:Any + Text;[age]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [13..22)::9 + MarkupBlock - [13..15)::2 + CSharpExpressionLiteral - [13..14)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + CSharpEphemeralTextLiteral - [14..15)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + MarkupBlock - [15..22)::7 + CSharpExpressionLiteral - [15..15)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Marker;[]; + CSharpCodeBlock - [15..22)::7 + CSharpImplicitExpression - [15..22)::7 + CSharpTransition - [15..15)::0 + Transition;[]; + CSharpImplicitExpressionBody - [15..22)::7 + CSharpCodeBlock - [15..22)::7 + CSharpExpressionLiteral - [15..16)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + CSharpExpressionLiteral - [16..17)::1 - [(] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + LeftParenthesis;[(]; + CSharpExpressionLiteral - [17..21)::4 - [11+1] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + IntegerLiteral;[11]; + Plus;[+]; + IntegerLiteral;[1]; + CSharpExpressionLiteral - [21..22)::1 - [)] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + RightParenthesis;[)]; + MarkupTextLiteral - [22..23)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [23..47)::24 - birthday - DoubleQuotes - Bound - [ birthday="DateTime.Now"] + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [24..32)::8 - [birthday] - Gen - SpanEditHandler;Accepts:Any + Text;[birthday]; + Equals;[=]; + MarkupTextLiteral - [33..34)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [34..46)::12 + CSharpExpressionLiteral - [34..46)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[DateTime.Now]; + MarkupTextLiteral - [46..47)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [47..74)::27 - name - DoubleQuotes - Bound - [ name="Time: @DateTime.Now"] + MarkupTextLiteral - [47..48)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [48..52)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTextLiteral - [53..54)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [54..73)::19 + MarkupTextLiteral - [54..59)::5 - [Time:] - Gen - SpanEditHandler;Accepts:Any + Text;[Time:]; + MarkupBlock - [59..73)::14 + MarkupTextLiteral - [59..60)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CSharpCodeBlock - [60..73)::13 + CSharpImplicitExpression - [60..73)::13 + CSharpTransition - [60..61)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [61..73)::12 + CSharpCodeBlock - [61..73)::12 + CSharpExpressionLiteral - [61..73)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [73..74)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [74..77)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes2.stree.txt index ce666d0c1..6e8c7c180 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes2.stree.txt @@ -1,6 +1,24 @@ -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) - Tokens:1 - SyntaxKind.Text;[DateTime.Now]; +RazorDocument - [0..34)::34 - [] + MarkupBlock - [0..34)::34 + MarkupTagHelperElement - [0..34)::34 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..34)::34 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..31)::24 - birthday - DoubleQuotes - Bound - [ birthday="DateTime.Now"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [birthday] - Gen - SpanEditHandler;Accepts:Any + Text;[birthday]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..30)::12 + CSharpExpressionLiteral - [18..30)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[DateTime.Now]; + MarkupTextLiteral - [30..31)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [31..34)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes3.stree.txt index e7f5f940e..e113316a4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes3.stree.txt @@ -1,15 +1,35 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now.Year] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (14:0,14) - Tokens:5 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Year]; +RazorDocument - [0..35)::35 - [] + MarkupBlock - [0..35)::35 + MarkupTagHelperElement - [0..35)::35 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..35)::35 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..32)::25 - age - DoubleQuotes - Bound - [ age="@DateTime.Now.Year"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..11)::3 - [age] - Gen - SpanEditHandler;Accepts:Any + Text;[age]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [13..31)::18 + MarkupBlock - [13..31)::18 + CSharpCodeBlock - [13..31)::18 + CSharpImplicitExpression - [13..31)::18 + CSharpTransition - [13..14)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [14..31)::17 + CSharpCodeBlock - [14..31)::17 + CSharpExpressionLiteral - [14..31)::17 - [DateTime.Now.Year] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + Dot;[.]; + Identifier;[Year]; + MarkupTextLiteral - [31..32)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [32..35)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes4.stree.txt index a72136e20..b961b93a6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes4.stree.txt @@ -1,17 +1,39 @@ -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) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 18 - (14:0,14) - Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (14:0,14) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now.Year] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (15:0,15) - Tokens:5 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Year]; +RazorDocument - [0..36)::36 - [] + MarkupBlock - [0..36)::36 + MarkupTagHelperElement - [0..36)::36 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..36)::36 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..33)::26 - age - DoubleQuotes - Bound - [ age=" @DateTime.Now.Year"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..11)::3 - [age] - Gen - SpanEditHandler;Accepts:Any + Text;[age]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [13..32)::19 + MarkupBlock - [13..32)::19 + CSharpExpressionLiteral - [13..14)::1 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + CSharpCodeBlock - [14..32)::18 + CSharpImplicitExpression - [14..32)::18 + CSharpTransition - [14..14)::0 + Transition;[]; + CSharpImplicitExpressionBody - [14..32)::18 + CSharpCodeBlock - [14..32)::18 + CSharpExpressionLiteral - [14..15)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + CSharpExpressionLiteral - [15..32)::17 - [DateTime.Now.Year] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + Dot;[.]; + Identifier;[Year]; + MarkupTextLiteral - [32..33)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [33..36)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes5.stree.txt index a6d534804..b117ddf3b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes5.stree.txt @@ -1,6 +1,24 @@ -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) - Tokens:1 - SyntaxKind.Text;[John]; +RazorDocument - [0..22)::22 - [] + MarkupBlock - [0..22)::22 + MarkupTagHelperElement - [0..22)::22 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..22)::22 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..19)::12 - name - DoubleQuotes - Bound - [ name="John"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..12)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [14..18)::4 + MarkupTextLiteral - [14..18)::4 - [John] - Gen - SpanEditHandler;Accepts:Any + Text;[John]; + MarkupTextLiteral - [18..19)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [19..22)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes6.stree.txt index 87383c9bf..de5aec155 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes6.stree.txt @@ -1,17 +1,37 @@ -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) - Tokens:1 - SyntaxKind.Text;[Time:]; - Markup block - Gen - 14 - (19:0,19) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (20:0,20) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (21:0,21) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..37)::37 - [] + MarkupBlock - [0..37)::37 + MarkupTagHelperElement - [0..37)::37 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..37)::37 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..34)::27 - name - DoubleQuotes - Bound - [ name="Time: @DateTime.Now"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..12)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [14..33)::19 + MarkupTextLiteral - [14..19)::5 - [Time:] - Gen - SpanEditHandler;Accepts:Any + Text;[Time:]; + MarkupBlock - [19..33)::14 + MarkupTextLiteral - [19..20)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CSharpCodeBlock - [20..33)::13 + CSharpImplicitExpression - [20..33)::13 + CSharpTransition - [20..21)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [21..33)::12 + CSharpCodeBlock - [21..33)::12 + CSharpExpressionLiteral - [21..33)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [33..34)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [34..37)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes7.stree.txt index b33108b18..da33e6029 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes7.stree.txt @@ -1,61 +1,101 @@ -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) - Tokens:1 - SyntaxKind.Text;[1]; - Code span - Gen - [ +] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (14:0,14) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup block - Gen - 7 - (16:0,16) - Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (16:0,16) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 6 - (17:0,17) - Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (17:0,17) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [value] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Tokens:1 - SyntaxKind.Identifier;[value]; - Code span - Gen - [ +] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (23:0,23) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Code span - Gen - [ 2] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (25:0,25) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[2]; - birthday - SingleQuotes - Markup block - Gen - 46 - (39:0,39) - Code span - Gen - [(bool)] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (39:0,39) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [Bag["val"]] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (46:0,46) - Tokens:4 - SyntaxKind.Identifier;[Bag]; - SyntaxKind.LeftBracket;[[]; - SyntaxKind.StringLiteral;["val"]; - SyntaxKind.RightBracket;[]]; - Code span - Gen - [ ?] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (56:0,56) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.QuestionMark;[?]; - Markup block - Gen - 3 - (58:0,58) - Code span - Gen - [ @] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (58:0,58) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Transition;[@]; - Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (60:0,60) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (61:0,61) - Tokens:1 - SyntaxKind.Text;[DateTime]; - Code span - Gen - [ :] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (69:0,69) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[:]; - Markup block - Gen - 14 - (71:0,71) - Code span - Gen - [ ] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (71:0,71) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (72:0,72) - Code span - Gen - [@] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (72:0,72) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (73:0,73) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..88)::88 - [] + MarkupBlock - [0..88)::88 + MarkupTagHelperElement - [0..88)::88 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..88)::88 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..28)::21 - age - DoubleQuotes - Bound - [ age="1 + @value + 2"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..11)::3 - [age] - Gen - SpanEditHandler;Accepts:Any + Text;[age]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [13..27)::14 + CSharpExpressionLiteral - [13..14)::1 - [1] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[1]; + CSharpExpressionLiteral - [14..16)::2 - [ +] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + Text;[+]; + MarkupBlock - [16..23)::7 + CSharpExpressionLiteral - [16..17)::1 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + CSharpCodeBlock - [17..23)::6 + CSharpImplicitExpression - [17..23)::6 + CSharpTransition - [17..17)::0 + Transition;[]; + CSharpImplicitExpressionBody - [17..23)::6 + CSharpCodeBlock - [17..23)::6 + CSharpExpressionLiteral - [17..18)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + CSharpExpressionLiteral - [18..23)::5 - [value] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Identifier;[value]; + CSharpExpressionLiteral - [23..25)::2 - [ +] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + Text;[+]; + CSharpExpressionLiteral - [25..27)::2 - [ 2] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + Text;[2]; + MarkupTextLiteral - [27..28)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [28..86)::58 - birthday - SingleQuotes - Bound - [ birthday='(bool)@Bag["val"] ? @@DateTime : @DateTime.Now'] + MarkupTextLiteral - [28..29)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [29..37)::8 - [birthday] - Gen - SpanEditHandler;Accepts:Any + Text;[birthday]; + Equals;[=]; + MarkupTextLiteral - [38..39)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [39..85)::46 + CSharpExpressionLiteral - [39..45)::6 - [(bool)] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[(bool)]; + MarkupBlock - [45..56)::11 + CSharpCodeBlock - [45..56)::11 + CSharpImplicitExpression - [45..56)::11 + CSharpTransition - [45..45)::0 + Transition;[]; + CSharpImplicitExpressionBody - [45..56)::11 + CSharpCodeBlock - [45..56)::11 + CSharpExpressionLiteral - [45..46)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + CSharpExpressionLiteral - [46..56)::10 - [Bag["val"]] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Identifier;[Bag]; + LeftBracket;[[]; + StringLiteral;["val"]; + RightBracket;[]]; + CSharpExpressionLiteral - [56..58)::2 - [ ?] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + QuestionMark;[?]; + MarkupBlock - [58..61)::3 + CSharpExpressionLiteral - [58..60)::2 - [ @] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + Transition;[@]; + CSharpEphemeralTextLiteral - [60..61)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + CSharpExpressionLiteral - [61..69)::8 - [DateTime] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[DateTime]; + CSharpExpressionLiteral - [69..71)::2 - [ :] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + Text;[:]; + MarkupBlock - [71..85)::14 + CSharpExpressionLiteral - [71..72)::1 - [ ] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Whitespace;[ ]; + CSharpCodeBlock - [72..85)::13 + CSharpImplicitExpression - [72..85)::13 + CSharpTransition - [72..72)::0 + Transition;[]; + CSharpImplicitExpressionBody - [72..85)::13 + CSharpCodeBlock - [72..85)::13 + CSharpExpressionLiteral - [72..73)::1 - [@] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Transition;[@]; + CSharpExpressionLiteral - [73..85)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [85..86)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [86..88)::2 - [/>] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes8.stree.txt index 4407dd61c..62779fb1d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes8.stree.txt @@ -1,23 +1,63 @@ -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) - Tokens:1 - SyntaxKind.Text;[12]; - birthday - DoubleQuotes - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (27:0,27) - Tokens:1 - SyntaxKind.Text;[DateTime.Now]; - name - DoubleQuotes - Markup block - Gen - 19 - (47:0,47) - Markup span - Gen - [Time:] - SpanEditHandler;Accepts:Any - (47:0,47) - Tokens:1 - SyntaxKind.Text;[Time:]; - Markup block - Gen - 14 - (52:0,52) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (52:0,52) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (53:0,53) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (53:0,53) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (54:0,54) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..70)::70 - [] + MarkupBlock - [0..70)::70 + MarkupTagHelperElement - [0..70)::70 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..70)::70 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..16)::9 - age - DoubleQuotes - Bound - [ age="12"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..11)::3 - [age] - Gen - SpanEditHandler;Accepts:Any + Text;[age]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [13..15)::2 + CSharpExpressionLiteral - [13..15)::2 - [12] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[12]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [16..40)::24 - birthday - DoubleQuotes - Bound - [ birthday="DateTime.Now"] + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..25)::8 - [birthday] - Gen - SpanEditHandler;Accepts:Any + Text;[birthday]; + Equals;[=]; + MarkupTextLiteral - [26..27)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [27..39)::12 + CSharpExpressionLiteral - [27..39)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[DateTime.Now]; + MarkupTextLiteral - [39..40)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [40..67)::27 - name - DoubleQuotes - Bound - [ name="Time: @DateTime.Now"] + MarkupTextLiteral - [40..41)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [41..45)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTextLiteral - [46..47)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [47..66)::19 + MarkupTextLiteral - [47..52)::5 - [Time:] - Gen - SpanEditHandler;Accepts:Any + Text;[Time:]; + MarkupBlock - [52..66)::14 + MarkupTextLiteral - [52..53)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CSharpCodeBlock - [53..66)::13 + CSharpImplicitExpression - [53..66)::13 + CSharpTransition - [53..54)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [54..66)::12 + CSharpCodeBlock - [54..66)::12 + CSharpExpressionLiteral - [54..66)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [66..67)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [67..70)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes9.stree.txt index 3157f815f..1c2449a0b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/CreatesMarkupCodeSpansForNonStringTagHelperAttributes9.stree.txt @@ -1,29 +1,69 @@ -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) - Tokens:1 - SyntaxKind.Text;[12]; - birthday - DoubleQuotes - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (27:0,27) - Tokens:1 - SyntaxKind.Text;[DateTime.Now]; - name - DoubleQuotes - Markup block - Gen - 22 - (47:0,47) - Markup span - Gen - [Time:] - SpanEditHandler;Accepts:Any - (47:0,47) - Tokens:1 - SyntaxKind.Text;[Time:]; - Markup block - Gen - 3 - (52:0,52) - Markup span - Gen - [ @] - SpanEditHandler;Accepts:None - (52:0,52) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (54:0,54) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup block - Gen - 14 - (55:0,55) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (55:0,55) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (56:0,56) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (56:0,56) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (57:0,57) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..73)::73 - [] + MarkupBlock - [0..73)::73 + MarkupTagHelperElement - [0..73)::73 - person[SelfClosing] - PersonTagHelper + MarkupTagHelperStartTag - [0..73)::73 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[person]; + MarkupTagHelperAttribute - [7..16)::9 - age - DoubleQuotes - Bound - [ age="12"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..11)::3 - [age] - Gen - SpanEditHandler;Accepts:Any + Text;[age]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [13..15)::2 + CSharpExpressionLiteral - [13..15)::2 - [12] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[12]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [16..40)::24 - birthday - DoubleQuotes - Bound - [ birthday="DateTime.Now"] + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..25)::8 - [birthday] - Gen - SpanEditHandler;Accepts:Any + Text;[birthday]; + Equals;[=]; + MarkupTextLiteral - [26..27)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [27..39)::12 + CSharpExpressionLiteral - [27..39)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[DateTime.Now]; + MarkupTextLiteral - [39..40)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [40..70)::30 - name - DoubleQuotes - Bound - [ name="Time: @@ @DateTime.Now"] + MarkupTextLiteral - [40..41)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [41..45)::4 - [name] - Gen - SpanEditHandler;Accepts:Any + Text;[name]; + Equals;[=]; + MarkupTextLiteral - [46..47)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [47..69)::22 + MarkupTextLiteral - [47..52)::5 - [Time:] - Gen - SpanEditHandler;Accepts:Any + Text;[Time:]; + MarkupBlock - [52..55)::3 + MarkupTextLiteral - [52..54)::2 - [ @] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Transition;[@]; + MarkupEphemeralTextLiteral - [54..55)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupBlock - [55..69)::14 + MarkupTextLiteral - [55..56)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CSharpCodeBlock - [56..69)::13 + CSharpImplicitExpression - [56..69)::13 + CSharpTransition - [56..57)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [57..69)::12 + CSharpCodeBlock - [57..69)::12 + CSharpExpressionLiteral - [57..69)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [69..70)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [70..73)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.stree.txt index 8ff170117..1d5ebc5e2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/FeatureDisabled_AddsErrorForMinimizedBooleanBoundAttributes.stree.txt @@ -1,5 +1,21 @@ -Markup block - Gen - 37 - (0:0,0) - Tag block - Gen - 37 - (0:0,0) - input - InputTagHelper - SelfClosing - - boundbool - Minimized - boundbooldict-key - Minimized +RazorDocument - [0..37)::37 - [] + MarkupBlock - [0..37)::37 + MarkupTagHelperElement - [0..37)::37 - input[SelfClosing] - InputTagHelper + MarkupTagHelperStartTag - [0..37)::37 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..16)::10 - boundbool - Minimized - Bound - [ boundbool] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..16)::9 - [boundbool] - Gen - SpanEditHandler;Accepts:Any + Text;[boundbool]; + MarkupMinimizedTagHelperAttribute - [16..34)::18 - boundbooldict-key - Minimized - Bound - [ boundbooldict-key] + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..34)::17 - [boundbooldict-key] - Gen - SpanEditHandler;Accepts:Any + Text;[boundbooldict-key]; + MarkupTextLiteral - [34..37)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block1.stree.txt index f5f2c4c4c..cc1abe49f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block1.stree.txt @@ -1,26 +1,49 @@ -Markup block - Gen - 42 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 42 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (25:0,25) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (41:0,41) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..42)::42 - [@{}] + MarkupBlock - [0..42)::42 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..42)::42 + CSharpStatement - [0..42)::42 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..42)::41 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..41)::39 + MarkupBlock - [2..41)::39 + MarkupTagHelperElement - [2..41)::39 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [2..41)::39 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..38)::30 - data-required - SingleQuotes - Unbound - [ data-required='@DateTime.Now'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..22)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [24..37)::13 + CSharpCodeBlock - [24..37)::13 + CSharpImplicitExpression - [24..37)::13 + CSharpTransition - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [25..37)::12 + CSharpCodeBlock - [25..37)::12 + CSharpExpressionLiteral - [25..37)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [37..38)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [38..41)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [41..41)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [41..42)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [42..42)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block2.stree.txt index a72b290f4..654448659 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block2.stree.txt @@ -1,20 +1,41 @@ -Markup block - Gen - 34 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 34 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[value]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..34)::34 - [@{}] + MarkupBlock - [0..34)::34 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..34)::34 + CSharpStatement - [0..34)::34 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..34)::33 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..33)::31 + MarkupBlock - [2..33)::31 + MarkupTagHelperElement - [2..33)::31 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [2..33)::31 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..30)::22 - data-required - SingleQuotes - Unbound - [ data-required='value'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..22)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [24..29)::5 + MarkupTextLiteral - [24..29)::5 - [value] - Gen - SpanEditHandler;Accepts:Any + Text;[value]; + MarkupTextLiteral - [29..30)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [30..33)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [33..34)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [34..34)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block3.stree.txt index 3da093352..3875da990 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block3.stree.txt @@ -1,29 +1,52 @@ -Markup block - Gen - 49 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 49 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:2 - SyntaxKind.Text;[prefix]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (31:0,31) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (32:0,32) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (48:0,48) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (48:0,48) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (49:0,49) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..49)::49 - [@{}] + MarkupBlock - [0..49)::49 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..49)::49 + CSharpStatement - [0..49)::49 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..49)::48 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..48)::46 + MarkupBlock - [2..48)::46 + MarkupTagHelperElement - [2..48)::46 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [2..48)::46 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..45)::37 - data-required - SingleQuotes - Unbound - [ data-required='prefix @DateTime.Now'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..22)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [24..44)::20 + MarkupTextLiteral - [24..31)::7 - [prefix ] - Gen - SpanEditHandler;Accepts:Any + Text;[prefix]; + Whitespace;[ ]; + CSharpCodeBlock - [31..44)::13 + CSharpImplicitExpression - [31..44)::13 + CSharpTransition - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [32..44)::12 + CSharpCodeBlock - [32..44)::12 + CSharpExpressionLiteral - [32..44)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [44..45)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [45..48)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [48..48)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [48..49)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [49..49)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block4.stree.txt index 0fbd648f8..a5dc4c130 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block4.stree.txt @@ -1,29 +1,52 @@ -Markup block - Gen - 49 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 49 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (25:0,25) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (37:0,37) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[suffix]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (48:0,48) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (48:0,48) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (49:0,49) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..49)::49 - [@{}] + MarkupBlock - [0..49)::49 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..49)::49 + CSharpStatement - [0..49)::49 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..49)::48 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..48)::46 + MarkupBlock - [2..48)::46 + MarkupTagHelperElement - [2..48)::46 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [2..48)::46 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..45)::37 - data-required - SingleQuotes - Unbound - [ data-required='@DateTime.Now suffix'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..22)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [24..44)::20 + CSharpCodeBlock - [24..37)::13 + CSharpImplicitExpression - [24..37)::13 + CSharpTransition - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [25..37)::12 + CSharpCodeBlock - [25..37)::12 + CSharpExpressionLiteral - [25..37)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [37..44)::7 - [ suffix] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[suffix]; + MarkupTextLiteral - [44..45)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [45..48)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [48..48)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [48..49)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [49..49)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block5.stree.txt index 489e04fe2..684f59602 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block5.stree.txt @@ -1,32 +1,55 @@ -Markup block - Gen - 56 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 56 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:2 - SyntaxKind.Text;[prefix]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (31:0,31) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (32:0,32) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (44:0,44) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[suffix]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (55:0,55) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (55:0,55) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (56:0,56) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..56)::56 - [@{}] + MarkupBlock - [0..56)::56 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..56)::56 + CSharpStatement - [0..56)::56 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..56)::55 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..55)::53 + MarkupBlock - [2..55)::53 + MarkupTagHelperElement - [2..55)::53 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [2..55)::53 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..52)::44 - data-required - SingleQuotes - Unbound - [ data-required='prefix @DateTime.Now suffix'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..22)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [24..51)::27 + MarkupTextLiteral - [24..31)::7 - [prefix ] - Gen - SpanEditHandler;Accepts:Any + Text;[prefix]; + Whitespace;[ ]; + CSharpCodeBlock - [31..44)::13 + CSharpImplicitExpression - [31..44)::13 + CSharpTransition - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [32..44)::12 + CSharpCodeBlock - [32..44)::12 + CSharpExpressionLiteral - [32..44)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [44..51)::7 - [ suffix] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[suffix]; + MarkupTextLiteral - [51..52)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [52..55)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [55..55)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [55..56)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [56..56)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block6.stree.txt index 23f6ce17b..61dfa7537 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block6.stree.txt @@ -1,34 +1,65 @@ -Markup block - Gen - 85 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 85 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:2 - SyntaxKind.Text;[prefix]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (45:0,45) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (45:0,45) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (46:0,46) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (58:0,58) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[suffix]; - post-attribute - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (84:0,84) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (84:0,84) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (85:0,85) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..85)::85 - [@{}] + MarkupBlock - [0..85)::85 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..85)::85 + CSharpStatement - [0..85)::85 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..85)::84 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..84)::82 + MarkupBlock - [2..84)::82 + MarkupTagHelperElement - [2..84)::82 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [2..84)::82 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..22)::14 - pre-attribute - Minimized - Unbound - [ pre-attribute] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..22)::13 - [pre-attribute] - Gen - SpanEditHandler;Accepts:Any + Text;[pre-attribute]; + MarkupTagHelperAttribute - [22..66)::44 - data-required - SingleQuotes - Unbound - [ data-required='prefix @DateTime.Now suffix'] + MarkupTextLiteral - [22..23)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [23..36)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [37..38)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [38..65)::27 + MarkupTextLiteral - [38..45)::7 - [prefix ] - Gen - SpanEditHandler;Accepts:Any + Text;[prefix]; + Whitespace;[ ]; + CSharpCodeBlock - [45..58)::13 + CSharpImplicitExpression - [45..58)::13 + CSharpTransition - [45..46)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [46..58)::12 + CSharpCodeBlock - [46..58)::12 + CSharpExpressionLiteral - [46..58)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [58..65)::7 - [ suffix] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[suffix]; + MarkupTextLiteral - [65..66)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [66..81)::15 - post-attribute - Minimized - Unbound - [ post-attribute] + MarkupTextLiteral - [66..67)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [67..81)::14 - [post-attribute] - Gen - SpanEditHandler;Accepts:Any + Text;[post-attribute]; + MarkupTextLiteral - [81..84)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [84..84)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [84..85)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [85..85)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block7.stree.txt index d91749c13..3374274c2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Block7.stree.txt @@ -1,37 +1,63 @@ -Markup block - Gen - 63 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 63 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (25:0,25) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ middle ] - SpanEditHandler;Accepts:Any - (37:0,37) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[middle]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (45:0,45) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (45:0,45) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (46:0,46) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (62:0,62) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (62:0,62) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (63:0,63) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..63)::63 - [@{}] + MarkupBlock - [0..63)::63 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..63)::63 + CSharpStatement - [0..63)::63 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..63)::62 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..62)::60 + MarkupBlock - [2..62)::60 + MarkupTagHelperElement - [2..62)::60 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [2..62)::60 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..59)::51 - data-required - SingleQuotes - Unbound - [ data-required='@DateTime.Now middle @DateTime.Now'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..22)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [24..58)::34 + CSharpCodeBlock - [24..37)::13 + CSharpImplicitExpression - [24..37)::13 + CSharpTransition - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [25..37)::12 + CSharpCodeBlock - [25..37)::12 + CSharpExpressionLiteral - [25..37)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [37..45)::8 - [ middle ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[middle]; + Whitespace;[ ]; + CSharpCodeBlock - [45..58)::13 + CSharpImplicitExpression - [45..58)::13 + CSharpTransition - [45..46)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [46..58)::12 + CSharpCodeBlock - [46..58)::12 + CSharpExpressionLiteral - [46..58)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [58..59)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [59..62)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [62..62)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [62..63)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [63..63)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document1.stree.txt index 4070a3cb2..1712c5a14 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document1.stree.txt @@ -1,12 +1,32 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (23:0,23) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..39)::39 - [] + MarkupBlock - [0..39)::39 + MarkupTagHelperElement - [0..39)::39 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [0..39)::39 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..36)::30 - data-required - SingleQuotes - Unbound - [ data-required='@DateTime.Now'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..20)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [22..35)::13 + CSharpCodeBlock - [22..35)::13 + CSharpImplicitExpression - [22..35)::13 + CSharpTransition - [22..23)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [23..35)::12 + CSharpCodeBlock - [23..35)::12 + CSharpExpressionLiteral - [23..35)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [35..36)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [36..39)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document2.stree.txt index fbf9d1f30..aa98bf878 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document2.stree.txt @@ -1,6 +1,24 @@ -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) - Tokens:1 - SyntaxKind.Text;[value]; +RazorDocument - [0..31)::31 - [] + MarkupBlock - [0..31)::31 + MarkupTagHelperElement - [0..31)::31 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [0..31)::31 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..28)::22 - data-required - SingleQuotes - Unbound - [ data-required='value'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..20)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [22..27)::5 + MarkupTextLiteral - [22..27)::5 - [value] - Gen - SpanEditHandler;Accepts:Any + Text;[value]; + MarkupTextLiteral - [27..28)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [28..31)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document3.stree.txt index d76b453d5..81c87a341 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document3.stree.txt @@ -1,15 +1,35 @@ -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) - Tokens:2 - SyntaxKind.Text;[prefix]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (29:0,29) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (29:0,29) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (30:0,30) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..46)::46 - [] + MarkupBlock - [0..46)::46 + MarkupTagHelperElement - [0..46)::46 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [0..46)::46 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..43)::37 - data-required - SingleQuotes - Unbound - [ data-required='prefix @DateTime.Now'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..20)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [22..42)::20 + MarkupTextLiteral - [22..29)::7 - [prefix ] - Gen - SpanEditHandler;Accepts:Any + Text;[prefix]; + Whitespace;[ ]; + CSharpCodeBlock - [29..42)::13 + CSharpImplicitExpression - [29..42)::13 + CSharpTransition - [29..30)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [30..42)::12 + CSharpCodeBlock - [30..42)::12 + CSharpExpressionLiteral - [30..42)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [42..43)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [43..46)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document4.stree.txt index d4aad7b2f..975e48555 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document4.stree.txt @@ -1,15 +1,35 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (23:0,23) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[suffix]; +RazorDocument - [0..46)::46 - [] + MarkupBlock - [0..46)::46 + MarkupTagHelperElement - [0..46)::46 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [0..46)::46 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..43)::37 - data-required - SingleQuotes - Unbound - [ data-required='@DateTime.Now suffix'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..20)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [22..42)::20 + CSharpCodeBlock - [22..35)::13 + CSharpImplicitExpression - [22..35)::13 + CSharpTransition - [22..23)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [23..35)::12 + CSharpCodeBlock - [23..35)::12 + CSharpExpressionLiteral - [23..35)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [35..42)::7 - [ suffix] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[suffix]; + MarkupTextLiteral - [42..43)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [43..46)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document5.stree.txt index 5a2804e54..9d2dfb5cf 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document5.stree.txt @@ -1,18 +1,38 @@ -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) - Tokens:2 - SyntaxKind.Text;[prefix]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (29:0,29) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (29:0,29) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (30:0,30) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[suffix]; +RazorDocument - [0..53)::53 - [] + MarkupBlock - [0..53)::53 + MarkupTagHelperElement - [0..53)::53 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [0..53)::53 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..50)::44 - data-required - SingleQuotes - Unbound - [ data-required='prefix @DateTime.Now suffix'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..20)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [22..49)::27 + MarkupTextLiteral - [22..29)::7 - [prefix ] - Gen - SpanEditHandler;Accepts:Any + Text;[prefix]; + Whitespace;[ ]; + CSharpCodeBlock - [29..42)::13 + CSharpImplicitExpression - [29..42)::13 + CSharpTransition - [29..30)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [30..42)::12 + CSharpCodeBlock - [30..42)::12 + CSharpExpressionLiteral - [30..42)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [42..49)::7 - [ suffix] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[suffix]; + MarkupTextLiteral - [49..50)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [50..53)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document6.stree.txt index b715994f7..f7880750f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document6.stree.txt @@ -1,20 +1,48 @@ -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) - Tokens:2 - SyntaxKind.Text;[prefix]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (43:0,43) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (43:0,43) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (44:0,44) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ suffix] - SpanEditHandler;Accepts:Any - (56:0,56) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[suffix]; - post-attribute - Minimized +RazorDocument - [0..82)::82 - [] + MarkupBlock - [0..82)::82 + MarkupTagHelperElement - [0..82)::82 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [0..82)::82 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..20)::14 - pre-attribute - Minimized - Unbound - [ pre-attribute] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..20)::13 - [pre-attribute] - Gen - SpanEditHandler;Accepts:Any + Text;[pre-attribute]; + MarkupTagHelperAttribute - [20..64)::44 - data-required - SingleQuotes - Unbound - [ data-required='prefix @DateTime.Now suffix'] + MarkupTextLiteral - [20..21)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [21..34)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [35..36)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [36..63)::27 + MarkupTextLiteral - [36..43)::7 - [prefix ] - Gen - SpanEditHandler;Accepts:Any + Text;[prefix]; + Whitespace;[ ]; + CSharpCodeBlock - [43..56)::13 + CSharpImplicitExpression - [43..56)::13 + CSharpTransition - [43..44)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [44..56)::12 + CSharpCodeBlock - [44..56)::12 + CSharpExpressionLiteral - [44..56)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [56..63)::7 - [ suffix] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[suffix]; + MarkupTextLiteral - [63..64)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [64..79)::15 - post-attribute - Minimized - Unbound - [ post-attribute] + MarkupTextLiteral - [64..65)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [65..79)::14 - [post-attribute] - Gen - SpanEditHandler;Accepts:Any + Text;[post-attribute]; + MarkupTextLiteral - [79..82)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document7.stree.txt index ca0a4f66e..b0278691b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/GeneratesExpectedOutputForUnboundDataDashAttributes_Document7.stree.txt @@ -1,23 +1,46 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (23:0,23) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ middle ] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[middle]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (43:0,43) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (43:0,43) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (44:0,44) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..60)::60 - [] + MarkupBlock - [0..60)::60 + MarkupTagHelperElement - [0..60)::60 - input[SelfClosing] - inputtaghelper + MarkupTagHelperStartTag - [0..60)::60 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..57)::51 - data-required - SingleQuotes - Unbound - [ data-required='@DateTime.Now middle @DateTime.Now'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..20)::13 - [data-required] - Gen - SpanEditHandler;Accepts:Any + Text;[data-required]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [22..56)::34 + CSharpCodeBlock - [22..35)::13 + CSharpImplicitExpression - [22..35)::13 + CSharpTransition - [22..23)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [23..35)::12 + CSharpCodeBlock - [23..35)::12 + CSharpExpressionLiteral - [23..35)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [35..43)::8 - [ middle ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[middle]; + Whitespace;[ ]; + CSharpCodeBlock - [43..56)::13 + CSharpImplicitExpression - [43..56)::13 + CSharpTransition - [43..44)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [44..56)::12 + CSharpCodeBlock - [44..56)::12 + CSharpExpressionLiteral - [44..56)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [56..57)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [57..60)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml1.stree.txt index a6d60ffb5..2dd3c5e0d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml1.stree.txt @@ -1,13 +1,23 @@ -Markup block - Gen - 11 - (0:0,0) - Tag block - Gen - 1 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 1 - (1:0,1) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 9 - (2:0,2) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [>>] - [5..7) - FullWidth: 2 - Slots: 1 - SyntaxKind.List - [>>] - [5..7) - FullWidth: 2 - Slots: 2 - SyntaxKind.CloseAngle;[>]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..11)::11 - [<<

        >>

        ] + MarkupBlock - [0..11)::11 + MarkupTagBlock - [0..1)::1 - [<] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagBlock - [1..2)::1 - [<] + MarkupTextLiteral - [1..2)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [2..11)::9 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [2..5)::3 + MarkupTextLiteral - [2..5)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [5..7)::2 - [>>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [7..11)::4 + MarkupTextLiteral - [7..11)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml10.stree.txt index 57b1b11e0..d2c472f3b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml10.stree.txt @@ -1,33 +1,49 @@ -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) - Tokens:2 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (5:0,5) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (6:0,6) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ >] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 3 - (20:0,20) - Markup span - Gen - [ - 13 - (23:0,23) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (24:0,24) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [ >] - [36..38) - FullWidth: 2 - Slots: 1 - SyntaxKind.List - [ >] - [36..38) - FullWidth: 2 - Slots: 2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..42)::42 - [

        < @DateTime.Now >

        ] + MarkupBlock - [0..42)::42 + MarkupTagHelperElement - [0..42)::42 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..20)::17 - [< @DateTime.Now >] + MarkupTextLiteral - [3..5)::2 - [< ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Whitespace;[ ]; + CSharpCodeBlock - [5..18)::13 + CSharpImplicitExpression - [5..18)::13 + CSharpTransition - [5..6)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [6..18)::12 + CSharpCodeBlock - [6..18)::12 + CSharpExpressionLiteral - [6..18)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [18..20)::2 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTagBlock - [20..23)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Whitespace;[ ]; + CSharpCodeBlock - [23..36)::13 + CSharpImplicitExpression - [23..36)::13 + CSharpTransition - [23..24)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [24..36)::12 + CSharpCodeBlock - [24..36)::12 + CSharpExpressionLiteral - [24..36)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [36..38)::2 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [38..42)::4 + MarkupTextLiteral - [38..42)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml2.stree.txt index 25c79c17d..585e25bb5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml2.stree.txt @@ -1,6 +1,13 @@ -Markup block - Gen - 6 - (0:0,0) - Tag block - Gen - 1 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 5 - (1:0,1) - p - ptaghelper - SelfClosing -

        +RazorDocument - [0..6)::6 - [<

        ] + MarkupBlock - [0..6)::6 + MarkupTagBlock - [0..1)::1 - [<] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [1..6)::5 - p[SelfClosing] - ptaghelper + MarkupTagHelperStartTag - [1..6)::5 + MarkupTextLiteral - [1..6)::5 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml3.stree.txt index 4f181f6f8..aefc90730 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml3.stree.txt @@ -1,12 +1,14 @@ -Markup block - Gen - 6 - (0:0,0) - Tag block - Gen - 6 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Markup block - Gen - 2 - (1:0,1) - Markup span - Gen - [ p] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[p]; - Markup span - Gen - [ />] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..6)::6 - [< p />] + MarkupBlock - [0..6)::6 + MarkupTagBlock - [0..6)::6 - [< p />] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupMinimizedAttributeBlock - [1..3)::2 - [ p] + MarkupTextLiteral - [1..2)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupTextLiteral - [3..6)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml4.stree.txt index e029295ed..26cda9df4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml4.stree.txt @@ -1,8 +1,15 @@ -Markup block - Gen - 12 - (0:0,0) - Tag block - Gen - 7 - (0:0,0) - Markup span - Gen - [ - 5 - (7:0,7) - p - ptaghelper - SelfClosing -

        +RazorDocument - [0..12)::12 - [] + MarkupBlock - [0..12)::12 + MarkupTagBlock - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + Whitespace;[ ]; + MarkupTagHelperElement - [7..12)::5 - p[SelfClosing] - ptaghelper + MarkupTagHelperStartTag - [7..12)::5 + MarkupTextLiteral - [7..12)::5 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml5.stree.txt index d33773740..4e4800e1a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml5.stree.txt @@ -1,18 +1,29 @@ -Markup block - Gen - 19 - (0:0,0) - Tag block - Gen - 14 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Markup block - Gen - 12 - (1:0,1) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (1:0,1) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (9:0,9) - Tokens:1 - SyntaxKind.Text;[foo]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 5 - (14:0,14) - p - ptaghelper - SelfClosing -

        +RazorDocument - [0..19)::19 - [< class="foo"

        ] + MarkupBlock - [0..19)::19 + MarkupTagBlock - [0..14)::14 - [< class="foo" ] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupAttributeBlock - [1..13)::12 - [ class="foo"] + MarkupTextLiteral - [1..2)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [2..7)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [8..9)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [9..12)::3 + MarkupLiteralAttributeValue - [9..12)::3 - [foo] + MarkupTextLiteral - [9..12)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [14..19)::5 - p[SelfClosing] - ptaghelper + MarkupTagHelperStartTag - [14..19)::5 + MarkupTextLiteral - [14..19)::5 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml6.stree.txt index 36b6f9d8e..993705be5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml6.stree.txt @@ -1,16 +1,26 @@ -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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 9 - (3:0,3) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [/>] - [6..8) - FullWidth: 2 - Slots: 1 - SyntaxKind.List - [/>] - [6..8) - FullWidth: 2 - Slots: 2 - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..13)::13 - [/>

        >] + MarkupBlock - [0..13)::13 + MarkupTagBlock - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagBlock - [2..3)::1 - [<] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [3..12)::9 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [3..6)::3 + MarkupTextLiteral - [3..6)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [6..8)::2 - [/>] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [8..12)::4 + MarkupTextLiteral - [8..12)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [12..13)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml7.stree.txt index af4b2ac40..5beba63c3 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml7.stree.txt @@ -1,21 +1,31 @@ -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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 17 - (3:0,3) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [/>] - [6..8) - FullWidth: 2 - Slots: 1 - SyntaxKind.List - [/>] - [6..8) - FullWidth: 2 - Slots: 2 - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (8:0,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:1 - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..21)::21 - [/>

        >] + MarkupBlock - [0..21)::21 + MarkupTagBlock - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagBlock - [2..3)::1 - [<] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [3..20)::17 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [3..6)::3 + MarkupTextLiteral - [3..6)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [6..8)::2 - [/>] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagBlock - [8..16)::8 - [] + MarkupTextLiteral - [8..16)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [16..20)::4 + MarkupTextLiteral - [16..20)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [20..21)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml8.stree.txt index 9ff6a024f..f0a3fe94d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml8.stree.txt @@ -1,28 +1,41 @@ -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) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (7:0,7) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [/>] - [19..21) - FullWidth: 2 - Slots: 1 - SyntaxKind.List - [/>] - [19..21) - FullWidth: 2 - Slots: 2 - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (21:0,21) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:1 - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..34)::34 - [@DateTime.Now/>

        >] + MarkupBlock - [0..34)::34 + MarkupTagBlock - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagBlock - [2..3)::1 - [<] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [3..33)::30 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [3..6)::3 + MarkupTextLiteral - [3..6)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + CSharpCodeBlock - [6..19)::13 + CSharpImplicitExpression - [6..19)::13 + CSharpTransition - [6..7)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [7..19)::12 + CSharpCodeBlock - [7..19)::12 + CSharpExpressionLiteral - [7..19)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [19..21)::2 - [/>] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagBlock - [21..29)::8 - [] + MarkupTextLiteral - [21..29)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [29..33)::4 + MarkupTextLiteral - [29..33)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [33..34)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml9.stree.txt index 57b1cd571..3cccfeb30 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_AllowsInvalidHtml9.stree.txt @@ -1,39 +1,52 @@ -Markup block - Gen - 52 - (0:0,0) - Tag block - Gen - 4 - (0:0,0) - Markup span - Gen - [ - 4 - (5:0,5) - Markup span - Gen - [< >] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (13:0,13) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [ / >] - [25..29) - FullWidth: 4 - Slots: 1 - SyntaxKind.List - [ / >] - [25..29) - FullWidth: 4 - Slots: 4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (29:0,29) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 11 - (41:0,41) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..52)::52 - [

        @DateTime.Now / >

        ] + MarkupBlock - [0..52)::52 + MarkupTagBlock - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Whitespace;[ ]; + MarkupTextLiteral - [4..5)::1 - [/] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + MarkupTagBlock - [5..9)::4 - [< >] + MarkupTextLiteral - [5..9)::4 - [< >] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTagHelperElement - [9..41)::32 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [9..12)::3 + MarkupTextLiteral - [9..12)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + CSharpCodeBlock - [12..25)::13 + CSharpImplicitExpression - [12..25)::13 + CSharpTransition - [12..13)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [13..25)::12 + CSharpCodeBlock - [13..25)::12 + CSharpExpressionLiteral - [13..25)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [25..29)::4 - [ / >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTagBlock - [29..37)::8 - [] + MarkupTextLiteral - [29..37)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [37..41)::4 + MarkupTextLiteral - [37..41)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [41..52)::11 - [] + MarkupTextLiteral - [41..52)::11 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Whitespace;[ ]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.stree.txt index 1f900238b..5a7aad942 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper1.stree.txt @@ -1,27 +1,66 @@ -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) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (22:0,22) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - style - NoQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..73)::73 - [

        ] + MarkupBlock - [0..73)::73 + MarkupTagHelperElement - [0..64)::64 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..52)::52 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class - NoQuotes - Unbound - [ class=foo] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..12)::3 + MarkupLiteralAttributeValue - [9..12)::3 - [foo] + MarkupTextLiteral - [9..12)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTagHelperAttribute - [12..34)::22 - dynamic - DoubleQuotes - Unbound - [ dynamic=@DateTime.Now] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..20)::7 - [dynamic] - Gen - SpanEditHandler;Accepts:Any + Text;[dynamic]; + Equals;[=]; + MarkupTagHelperAttributeValue - [21..34)::13 + MarkupDynamicAttributeValue - [21..34)::13 - [@DateTime.Now] + GenericBlock - [21..34)::13 + CSharpCodeBlock - [21..34)::13 + CSharpImplicitExpression - [21..34)::13 + CSharpTransition - [21..22)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [22..34)::12 + CSharpCodeBlock - [22..34)::12 + CSharpExpressionLiteral - [22..34)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagHelperAttribute - [34..51)::17 - style - NoQuotes - Unbound - [ style=color:red;] + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [35..40)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTagHelperAttributeValue - [41..51)::10 + MarkupLiteralAttributeValue - [41..51)::10 - [color:red;] + MarkupTextLiteral - [41..51)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [51..52)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperElement - [52..60)::8 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [52..60)::8 + MarkupTextLiteral - [52..60)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [60..64)::4 + MarkupTextLiteral - [60..64)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [64..73)::9 - [
        ] + MarkupTextLiteral - [64..73)::9 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.cspans.txt index e3b29061b..f4e5ce935 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.cspans.txt @@ -1,4 +1,4 @@ Markup span at (0:0,0 [5] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [5] ) -Markup span at (8:0,8 [6] ) (Accepts:Any) - Parent: Tag block at (5:0,5 [37] ) +Markup span at (8:0,8 [6] ) (Accepts:Any) - Parent: Tag block at (5:0,5 [31] ) Markup span at (22:0,22 [5] ) (Accepts:Any) - Parent: Tag block at (14:0,14 [22] ) Markup span at (36:0,36 [6] ) (Accepts:Any) - Parent: Tag block at (36:0,36 [6] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.stree.txt index 4751710d9..cdc5660b9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.stree.txt @@ -1,22 +1,36 @@ -Markup block - Gen - 42 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 37 - (5:0,5) - p - ptaghelper - StartTagAndEndTag -

        - SyntaxKind.HtmlTextLiteral - [Hello ] - [8..14) - FullWidth: 6 - Slots: 1 - SyntaxKind.List - [Hello ] - [8..14) - FullWidth: 6 - Slots: 2 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 22 - (14:0,14) - strong - strongtaghelper - StartTagAndEndTag - ... - SyntaxKind.HtmlTextLiteral - [World] - [22..27) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; - Tag block - Gen - 6 - (36:0,36) - Markup span - Gen - [

        ] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..42)::42 - [

        Hello World

        ] + MarkupBlock - [0..42)::42 + MarkupTagBlock - [0..5)::5 - [
        ] + MarkupTextLiteral - [0..5)::5 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperElement - [5..36)::31 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [5..8)::3 + MarkupTextLiteral - [5..8)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [8..14)::6 - [Hello ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + MarkupTagHelperElement - [14..36)::22 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [14..22)::8 + MarkupTextLiteral - [14..22)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [22..27)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [27..36)::9 + MarkupTextLiteral - [27..36)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [36..42)::6 - [

        ] + MarkupTextLiteral - [36..42)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.tspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.tspans.txt index 80e567b49..36dd08e81 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.tspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper2.tspans.txt @@ -1,2 +1,2 @@ -TagHelper span at (5:0,5 [37] ) - ptaghelper +TagHelper span at (5:0,5 [31] ) - ptaghelper TagHelper span at (14:0,14 [22] ) - strongtaghelper diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.cspans.txt index 0e3bf1526..a003b54d7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.cspans.txt @@ -1,4 +1,4 @@ Markup span at (0:0,0 [5] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [5] ) -Markup span at (8:0,8 [6] ) (Accepts:Any) - Parent: Tag block at (5:0,5 [28] ) -Markup span at (22:0,22 [5] ) (Accepts:Any) - Parent: Tag block at (14:0,14 [19] ) +Markup span at (8:0,8 [6] ) (Accepts:Any) - Parent: Tag block at (5:0,5 [22] ) +Markup span at (22:0,22 [5] ) (Accepts:Any) - Parent: Tag block at (14:0,14 [13] ) Markup span at (27:0,27 [6] ) (Accepts:Any) - Parent: Tag block at (27:0,27 [6] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.stree.txt index 9aa52108a..55169c40f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.stree.txt @@ -1,22 +1,30 @@ -Markup block - Gen - 33 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 28 - (5:0,5) - p - ptaghelper - StartTagAndEndTag -

        - SyntaxKind.HtmlTextLiteral - [Hello ] - [8..14) - FullWidth: 6 - Slots: 1 - SyntaxKind.List - [Hello ] - [8..14) - FullWidth: 6 - Slots: 2 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 19 - (14:0,14) - strong - strongtaghelper - StartTagAndEndTag - - SyntaxKind.HtmlTextLiteral - [World] - [22..27) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; - Tag block - Gen - 6 - (27:0,27) - Markup span - Gen - [

        ] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..33)::33 - [

        Hello World

        ] + MarkupBlock - [0..33)::33 + MarkupTagBlock - [0..5)::5 - [
        ] + MarkupTextLiteral - [0..5)::5 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperElement - [5..27)::22 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [5..8)::3 + MarkupTextLiteral - [5..8)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [8..14)::6 - [Hello ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + MarkupTagHelperElement - [14..27)::13 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [14..22)::8 + MarkupTextLiteral - [14..22)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [22..27)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagBlock - [27..33)::6 - [

        ] + MarkupTextLiteral - [27..33)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.tspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.tspans.txt index ebd3c39dd..9fc6edf71 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.tspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper3.tspans.txt @@ -1,2 +1,2 @@ -TagHelper span at (5:0,5 [28] ) - ptaghelper -TagHelper span at (14:0,14 [19] ) - strongtaghelper +TagHelper span at (5:0,5 [22] ) - ptaghelper +TagHelper span at (14:0,14 [13] ) - strongtaghelper diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.stree.txt index bc8e4a8a8..dfb8f3a25 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_CreatesErrorForIncompleteTagHelper4.stree.txt @@ -1,17 +1,55 @@ -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) - Tokens:1 - SyntaxKind.Text;[foo]; - SyntaxKind.HtmlTextLiteral - [Hello ] - [15..21) - FullWidth: 6 - Slots: 1 - SyntaxKind.List - [Hello ] - [15..21) - FullWidth: 6 - Slots: 2 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 31 - (21:0,21) - p - ptaghelper - StartTagAndEndTag -

        ...

        - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Text;[color:red;]; - SyntaxKind.HtmlTextLiteral - [World] - [43..48) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; +RazorDocument - [0..52)::52 - [

        Hello

        World

        ] + MarkupBlock - [0..52)::52 + MarkupTagHelperElement - [0..52)::52 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="foo"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [foo] + MarkupTextLiteral - [10..13)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [15..21)::6 - [Hello ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + MarkupTagHelperElement - [21..52)::31 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [21..43)::22 + MarkupTextLiteral - [21..23)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [23..42)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [24..29)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [30..31)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [31..41)::10 + MarkupLiteralAttributeValue - [31..41)::10 - [color:red;] + MarkupTextLiteral - [31..41)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [41..42)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [42..43)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [43..48)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [48..52)::4 + MarkupTextLiteral - [48..52)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks1.stree.txt index d5dbab8aa..4cd860643 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks1.stree.txt @@ -1,23 +1,61 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (11:0,11) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (33:0,33) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..51)::51 - [

        ] + MarkupBlock - [0..51)::51 + MarkupTagHelperElement - [0..51)::51 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..47)::47 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..24)::22 - class - DoubleQuotes - Unbound - [ class="@DateTime.Now"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..23)::13 + MarkupDynamicAttributeValue - [10..23)::13 - [@DateTime.Now] + GenericBlock - [10..23)::13 + CSharpCodeBlock - [10..23)::13 + CSharpImplicitExpression - [10..23)::13 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [11..23)::12 + CSharpCodeBlock - [11..23)::12 + CSharpExpressionLiteral - [11..23)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [24..46)::22 - style - SingleQuotes - Unbound - [ style='@DateTime.Now'] + MarkupTextLiteral - [24..25)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [25..30)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [31..32)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [32..45)::13 + MarkupDynamicAttributeValue - [32..45)::13 - [@DateTime.Now] + GenericBlock - [32..45)::13 + CSharpCodeBlock - [32..45)::13 + CSharpImplicitExpression - [32..45)::13 + CSharpTransition - [32..33)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [33..45)::12 + CSharpCodeBlock - [33..45)::12 + CSharpExpressionLiteral - [33..45)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [45..46)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [46..47)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [47..51)::4 + MarkupTextLiteral - [47..51)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks2.stree.txt index 697539f64..1deded266 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks2.stree.txt @@ -1,105 +1,137 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:13 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - Markup block - Gen - 16 - (31:0,31) - Tag block - Gen - 6 - (31:0,31) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1 - SyntaxKind.Text;[Foo]; - Tag block - Gen - 7 - (40:0,40) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (47:0,47) - Tokens:16 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (84:0,84) - Tokens:13 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - Markup block - Gen - 16 - (104:0,104) - Tag block - Gen - 6 - (104:0,104) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (104:0,104) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (110:0,110) - Tokens:1 - SyntaxKind.Text;[Foo]; - Tag block - Gen - 7 - (113:0,113) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (113:0,113) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (120:0,120) - Tokens:16 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Semicolon;[;]; +RazorDocument - [0..153)::153 - [

        ] + MarkupBlock - [0..153)::153 + MarkupTagHelperElement - [0..153)::153 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..149)::149 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..75)::73 - class - DoubleQuotes - Unbound - [ class="@do { var foo = bar; Foo foo++; } while (foo);"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..74)::64 + MarkupDynamicAttributeValue - [10..74)::64 - [@do { var foo = bar; Foo foo++; } while (foo);] + GenericBlock - [10..74)::64 + CSharpCodeBlock - [10..74)::64 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [11..31)::20 - [do { var foo = bar; ] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + Whitespace;[ ]; + MarkupBlock - [31..47)::16 + MarkupTagBlock - [31..37)::6 - [] + MarkupTransition - [31..37)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [37..40)::3 - [Foo] - Gen - SpanEditHandler;Accepts:None + Text;[Foo]; + MarkupTagBlock - [40..47)::7 - [] + MarkupTransition - [40..47)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [47..74)::27 - [ foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTextLiteral - [74..75)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [75..148)::73 - style - SingleQuotes - Unbound - [ style='@do { var foo = bar; Foo foo++; } while (foo);'] + MarkupTextLiteral - [75..76)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [76..81)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [82..83)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [83..147)::64 + MarkupDynamicAttributeValue - [83..147)::64 - [@do { var foo = bar; Foo foo++; } while (foo);] + GenericBlock - [83..147)::64 + CSharpCodeBlock - [83..147)::64 + CSharpTransition - [83..84)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [84..104)::20 - [do { var foo = bar; ] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + Whitespace;[ ]; + MarkupBlock - [104..120)::16 + MarkupTagBlock - [104..110)::6 - [] + MarkupTransition - [104..110)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [110..113)::3 - [Foo] - Gen - SpanEditHandler;Accepts:None + Text;[Foo]; + MarkupTagBlock - [113..120)::7 - [] + MarkupTransition - [113..120)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [120..147)::27 - [ foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTextLiteral - [147..148)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [148..149)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [149..153)::4 + MarkupTextLiteral - [149..153)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks3.stree.txt index a18de7336..4a018347f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks3.stree.txt @@ -1,28 +1,65 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (11:0,11) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (33:0,33) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [Hello World] - [47..58) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [47..58) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..62)::62 - [

        Hello World

        ] + MarkupBlock - [0..62)::62 + MarkupTagHelperElement - [0..62)::62 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..47)::47 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..24)::22 - class - DoubleQuotes - Unbound - [ class="@DateTime.Now"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..23)::13 + MarkupDynamicAttributeValue - [10..23)::13 - [@DateTime.Now] + GenericBlock - [10..23)::13 + CSharpCodeBlock - [10..23)::13 + CSharpImplicitExpression - [10..23)::13 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [11..23)::12 + CSharpCodeBlock - [11..23)::12 + CSharpExpressionLiteral - [11..23)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [24..46)::22 - style - SingleQuotes - Unbound - [ style='@DateTime.Now'] + MarkupTextLiteral - [24..25)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [25..30)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [31..32)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [32..45)::13 + MarkupDynamicAttributeValue - [32..45)::13 - [@DateTime.Now] + GenericBlock - [32..45)::13 + CSharpCodeBlock - [32..45)::13 + CSharpImplicitExpression - [32..45)::13 + CSharpTransition - [32..33)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [33..45)::12 + CSharpCodeBlock - [33..45)::12 + CSharpExpressionLiteral - [33..45)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [45..46)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [46..47)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [47..58)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [58..62)::4 + MarkupTextLiteral - [58..62)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks4.stree.txt index 3f079bb5c..9e369b5d2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks4.stree.txt @@ -1,110 +1,141 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:13 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - Markup block - Gen - 16 - (31:0,31) - Tag block - Gen - 6 - (31:0,31) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1 - SyntaxKind.Text;[Foo]; - Tag block - Gen - 7 - (40:0,40) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (47:0,47) - Tokens:16 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (84:0,84) - Tokens:13 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - Markup block - Gen - 16 - (104:0,104) - Tag block - Gen - 6 - (104:0,104) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (104:0,104) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (110:0,110) - Tokens:1 - SyntaxKind.Text;[Foo]; - Tag block - Gen - 7 - (113:0,113) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (113:0,113) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (120:0,120) - Tokens:16 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.HtmlTextLiteral - [Hello World] - [149..160) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [149..160) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..164)::164 - [

        Hello World

        ] + MarkupBlock - [0..164)::164 + MarkupTagHelperElement - [0..164)::164 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..149)::149 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..75)::73 - class - DoubleQuotes - Unbound - [ class="@do { var foo = bar; Foo foo++; } while (foo);"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..74)::64 + MarkupDynamicAttributeValue - [10..74)::64 - [@do { var foo = bar; Foo foo++; } while (foo);] + GenericBlock - [10..74)::64 + CSharpCodeBlock - [10..74)::64 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [11..31)::20 - [do { var foo = bar; ] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + Whitespace;[ ]; + MarkupBlock - [31..47)::16 + MarkupTagBlock - [31..37)::6 - [] + MarkupTransition - [31..37)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [37..40)::3 - [Foo] - Gen - SpanEditHandler;Accepts:None + Text;[Foo]; + MarkupTagBlock - [40..47)::7 - [] + MarkupTransition - [40..47)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [47..74)::27 - [ foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTextLiteral - [74..75)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [75..148)::73 - style - SingleQuotes - Unbound - [ style='@do { var foo = bar; Foo foo++; } while (foo);'] + MarkupTextLiteral - [75..76)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [76..81)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [82..83)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [83..147)::64 + MarkupDynamicAttributeValue - [83..147)::64 - [@do { var foo = bar; Foo foo++; } while (foo);] + GenericBlock - [83..147)::64 + CSharpCodeBlock - [83..147)::64 + CSharpTransition - [83..84)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [84..104)::20 - [do { var foo = bar; ] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + Whitespace;[ ]; + MarkupBlock - [104..120)::16 + MarkupTagBlock - [104..110)::6 - [] + MarkupTransition - [104..110)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [110..113)::3 - [Foo] - Gen - SpanEditHandler;Accepts:None + Text;[Foo]; + MarkupTagBlock - [113..120)::7 - [] + MarkupTransition - [113..120)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [120..147)::27 - [ foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTextLiteral - [147..148)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [148..149)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [149..160)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [160..164)::4 + MarkupTextLiteral - [160..164)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks5.stree.txt index db4d031a9..a63149d76 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks5.stree.txt @@ -1,31 +1,80 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (11:0,11) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [Hello] - [25..30) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[Hello]; - SyntaxKind.HtmlTextLiteral - [ ] - [34..35) - FullWidth: 1 - Slots: 1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (46:0,46) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [World] - [60..65) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; +RazorDocument - [0..69)::69 - [

        Hello

        World

        ] + MarkupBlock - [0..69)::69 + MarkupTagHelperElement - [0..34)::34 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..24)::22 - class - DoubleQuotes - Unbound - [ class="@DateTime.Now"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..23)::13 + MarkupDynamicAttributeValue - [10..23)::13 - [@DateTime.Now] + GenericBlock - [10..23)::13 + CSharpCodeBlock - [10..23)::13 + CSharpImplicitExpression - [10..23)::13 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [11..23)::12 + CSharpCodeBlock - [11..23)::12 + CSharpExpressionLiteral - [11..23)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [24..25)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [25..30)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperEndTag - [30..34)::4 + MarkupTextLiteral - [30..34)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [35..69)::34 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [35..60)::25 + MarkupTextLiteral - [35..37)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [37..59)::22 - style - SingleQuotes - Unbound - [ style='@DateTime.Now'] + MarkupTextLiteral - [37..38)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [38..43)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [44..45)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [45..58)::13 + MarkupDynamicAttributeValue - [45..58)::13 - [@DateTime.Now] + GenericBlock - [45..58)::13 + CSharpCodeBlock - [45..58)::13 + CSharpImplicitExpression - [45..58)::13 + CSharpTransition - [45..46)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [46..58)::12 + CSharpCodeBlock - [46..58)::12 + CSharpExpressionLiteral - [46..58)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [58..59)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [59..60)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [60..65)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [65..69)::4 + MarkupTextLiteral - [65..69)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks6.stree.txt index bfe617397..b58398f16 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks6.stree.txt @@ -1,113 +1,156 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:13 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - Markup block - Gen - 16 - (31:0,31) - Tag block - Gen - 6 - (31:0,31) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1 - SyntaxKind.Text;[Foo]; - Tag block - Gen - 7 - (40:0,40) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (47:0,47) - Tokens:16 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.HtmlTextLiteral - [Hello] - [76..81) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[Hello]; - SyntaxKind.HtmlTextLiteral - [ ] - [85..86) - FullWidth: 1 - Slots: 1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar; ] - SpanEditHandler;Accepts:Any - (97:0,97) - Tokens:13 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - Markup block - Gen - 16 - (117:0,117) - Tag block - Gen - 6 - (117:0,117) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (117:0,117) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (123:0,123) - Tokens:1 - SyntaxKind.Text;[Foo]; - Tag block - Gen - 7 - (126:0,126) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (126:0,126) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [ foo++; } while (foo);] - SpanEditHandler;Accepts:None - (133:0,133) - Tokens:16 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.HtmlTextLiteral - [World] - [162..167) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; +RazorDocument - [0..171)::171 - [

        Hello

        World

        ] + MarkupBlock - [0..171)::171 + MarkupTagHelperElement - [0..85)::85 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..76)::76 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..75)::73 - class - DoubleQuotes - Unbound - [ class="@do { var foo = bar; Foo foo++; } while (foo);"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..74)::64 + MarkupDynamicAttributeValue - [10..74)::64 - [@do { var foo = bar; Foo foo++; } while (foo);] + GenericBlock - [10..74)::64 + CSharpCodeBlock - [10..74)::64 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [11..31)::20 - [do { var foo = bar; ] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + Whitespace;[ ]; + MarkupBlock - [31..47)::16 + MarkupTagBlock - [31..37)::6 - [] + MarkupTransition - [31..37)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [37..40)::3 - [Foo] - Gen - SpanEditHandler;Accepts:None + Text;[Foo]; + MarkupTagBlock - [40..47)::7 - [] + MarkupTransition - [40..47)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [47..74)::27 - [ foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTextLiteral - [74..75)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [75..76)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [76..81)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperEndTag - [81..85)::4 + MarkupTextLiteral - [81..85)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [85..86)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [86..171)::85 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [86..162)::76 + MarkupTextLiteral - [86..88)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [88..161)::73 - style - SingleQuotes - Unbound - [ style='@do { var foo = bar; Foo foo++; } while (foo);'] + MarkupTextLiteral - [88..89)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [89..94)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [95..96)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [96..160)::64 + MarkupDynamicAttributeValue - [96..160)::64 - [@do { var foo = bar; Foo foo++; } while (foo);] + GenericBlock - [96..160)::64 + CSharpCodeBlock - [96..160)::64 + CSharpTransition - [96..97)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [97..117)::20 - [do { var foo = bar; ] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + Whitespace;[ ]; + MarkupBlock - [117..133)::16 + MarkupTagBlock - [117..123)::6 - [] + MarkupTransition - [117..123)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [123..126)::3 - [Foo] - Gen - SpanEditHandler;Accepts:None + Text;[Foo]; + MarkupTagBlock - [126..133)::7 - [] + MarkupTransition - [126..133)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [133..160)::27 - [ foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTextLiteral - [160..161)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [161..162)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [162..167)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [167..171)::4 + MarkupTextLiteral - [167..171)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks7.stree.txt index 9433379ab..26ac739f7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexAttributeTagHelperTagBlocks7.stree.txt @@ -1,66 +1,109 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (11:0,11) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (33:0,33) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [Hello World ] - [47..59) - FullWidth: 12 - Slots: 1 - SyntaxKind.List - [Hello World ] - [47..59) - FullWidth: 12 - Slots: 4 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup block - Gen - 13 - (74:0,74) - Expression block - Gen - 13 - (74:0,74) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (74:0,74) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (75:0,75) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (87:0,87) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (88:0,88) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [inside of strong tag] - [89..109) - FullWidth: 20 - Slots: 1 - SyntaxKind.List - [inside of strong tag] - [89..109) - FullWidth: 20 - Slots: 7 - SyntaxKind.Text;[inside]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[of]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[strong]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[tag]; - Tag block - Gen - 9 - (109:0,109) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (109:0,109) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..122)::122 - [

        Hello World inside of strong tag

        ] + MarkupBlock - [0..122)::122 + MarkupTagHelperElement - [0..122)::122 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..47)::47 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..24)::22 - class - DoubleQuotes - Unbound - [ class="@DateTime.Now"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..23)::13 + MarkupDynamicAttributeValue - [10..23)::13 - [@DateTime.Now] + GenericBlock - [10..23)::13 + CSharpCodeBlock - [10..23)::13 + CSharpImplicitExpression - [10..23)::13 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [11..23)::12 + CSharpCodeBlock - [11..23)::12 + CSharpExpressionLiteral - [11..23)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [24..46)::22 - style - SingleQuotes - Unbound - [ style='@DateTime.Now'] + MarkupTextLiteral - [24..25)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [25..30)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [31..32)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [32..45)::13 + MarkupDynamicAttributeValue - [32..45)::13 - [@DateTime.Now] + GenericBlock - [32..45)::13 + CSharpCodeBlock - [32..45)::13 + CSharpImplicitExpression - [32..45)::13 + CSharpTransition - [32..33)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [33..45)::12 + CSharpCodeBlock - [33..45)::12 + CSharpExpressionLiteral - [33..45)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [45..46)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [46..47)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [47..59)::12 - [Hello World ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + Whitespace;[ ]; + MarkupTagBlock - [59..89)::30 - [] + MarkupTextLiteral - [59..66)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupAttributeBlock - [66..88)::22 - [ class="@DateTime.Now"] + MarkupTextLiteral - [66..67)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [67..72)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [73..74)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [74..87)::13 + MarkupDynamicAttributeValue - [74..87)::13 - [@DateTime.Now] + GenericBlock - [74..87)::13 + CSharpCodeBlock - [74..87)::13 + CSharpImplicitExpression - [74..87)::13 + CSharpTransition - [74..75)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [75..87)::12 + CSharpCodeBlock - [75..87)::12 + CSharpExpressionLiteral - [75..87)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [87..88)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [88..89)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [89..109)::20 - [inside of strong tag] - Gen - SpanEditHandler;Accepts:Any + Text;[inside]; + Whitespace;[ ]; + Text;[of]; + Whitespace;[ ]; + Text;[strong]; + Whitespace;[ ]; + Text;[tag]; + MarkupTagBlock - [109..118)::9 - [] + MarkupTextLiteral - [109..118)::9 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [118..122)::4 + MarkupTextLiteral - [118..122)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks1.stree.txt index ac7dc6b91..46e658962 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks1.stree.txt @@ -1,10 +1,24 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (4:0,4) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..20)::20 - [

        @DateTime.Now

        ] + MarkupBlock - [0..20)::20 + MarkupTagHelperElement - [0..20)::20 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + CSharpCodeBlock - [3..16)::13 + CSharpImplicitExpression - [3..16)::13 + CSharpTransition - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [4..16)::12 + CSharpCodeBlock - [4..16)::12 + CSharpExpressionLiteral - [4..16)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagHelperEndTag - [16..20)::4 + MarkupTextLiteral - [16..20)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks2.stree.txt index 1d83c0671..c7fd68879 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks2.stree.txt @@ -1,44 +1,65 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:12 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - Markup block - Gen - 12 - (23:0,23) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 10 - (24:0,24) - p - ptaghelper - StartTagAndEndTag -

        ...

        - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:1 - SyntaxKind.Text;[Foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (34:0,34) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (35:0,35) - Tokens:15 - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Semicolon;[;]; +RazorDocument - [0..65)::65 - [

        @do { var foo = bar;

        Foo

        foo++; } while (foo);

        ] + MarkupBlock - [0..65)::65 + MarkupTagHelperElement - [0..65)::65 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + CSharpCodeBlock - [3..61)::58 + CSharpTransition - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [4..23)::19 - [do { var foo = bar;] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + MarkupBlock - [23..35)::12 + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [24..34)::10 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [24..27)::3 + MarkupTextLiteral - [24..27)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [27..30)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagHelperEndTag - [30..34)::4 + MarkupTextLiteral - [30..34)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [35..61)::26 - [foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTagHelperEndTag - [61..65)::4 + MarkupTextLiteral - [61..65)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks3.stree.txt index c5ba36436..316334424 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks3.stree.txt @@ -1,15 +1,29 @@ -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) - Tokens:4 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (15:0,15) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (16:0,16) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..32)::32 - [

        Hello World @DateTime.Now

        ] + MarkupBlock - [0..32)::32 + MarkupTagHelperElement - [0..32)::32 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..15)::12 - [Hello World ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + Whitespace;[ ]; + CSharpCodeBlock - [15..28)::13 + CSharpImplicitExpression - [15..28)::13 + CSharpTransition - [15..16)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [16..28)::12 + CSharpCodeBlock - [16..28)::12 + CSharpExpressionLiteral - [16..28)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagHelperEndTag - [28..32)::4 + MarkupTextLiteral - [28..32)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks4.stree.txt index 3d0d33de6..018a58a68 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks4.stree.txt @@ -1,49 +1,70 @@ -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) - Tokens:4 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.Whitespace;[ ]; - Statement block - Gen - 58 - (15:0,15) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:12 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - Markup block - Gen - 12 - (35:0,35) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 10 - (36:0,36) - p - ptaghelper - StartTagAndEndTag -

        ...

        - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (39:0,39) - Tokens:1 - SyntaxKind.Text;[Foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (46:0,46) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (47:0,47) - Tokens:15 - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Semicolon;[;]; +RazorDocument - [0..77)::77 - [

        Hello World @do { var foo = bar;

        Foo

        foo++; } while (foo);

        ] + MarkupBlock - [0..77)::77 + MarkupTagHelperElement - [0..77)::77 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..15)::12 - [Hello World ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + Whitespace;[ ]; + CSharpCodeBlock - [15..73)::58 + CSharpTransition - [15..16)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [16..35)::19 - [do { var foo = bar;] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + MarkupBlock - [35..47)::12 + MarkupTextLiteral - [35..36)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [36..46)::10 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [36..39)::3 + MarkupTextLiteral - [36..39)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [39..42)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagHelperEndTag - [42..46)::4 + MarkupTextLiteral - [42..46)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [46..47)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [47..73)::26 - [foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTagHelperEndTag - [73..77)::4 + MarkupTextLiteral - [73..77)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks5.stree.txt index f63f6e58d..665530f01 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks5.stree.txt @@ -1,21 +1,48 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (4:0,4) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [ ] - [20..21) - FullWidth: 1 - Slots: 1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (25:0,25) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..41)::41 - [

        @DateTime.Now

        @DateTime.Now

        ] + MarkupBlock - [0..41)::41 + MarkupTagHelperElement - [0..20)::20 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + CSharpCodeBlock - [3..16)::13 + CSharpImplicitExpression - [3..16)::13 + CSharpTransition - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [4..16)::12 + CSharpCodeBlock - [4..16)::12 + CSharpExpressionLiteral - [4..16)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagHelperEndTag - [16..20)::4 + MarkupTextLiteral - [16..20)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [20..21)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [21..41)::20 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [21..24)::3 + MarkupTextLiteral - [21..24)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + CSharpCodeBlock - [24..37)::13 + CSharpImplicitExpression - [24..37)::13 + CSharpTransition - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [25..37)::12 + CSharpCodeBlock - [25..37)::12 + CSharpExpressionLiteral - [25..37)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagHelperEndTag - [37..41)::4 + MarkupTextLiteral - [37..41)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks6.stree.txt index 2d1b78b0b..330c1f53a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks6.stree.txt @@ -1,89 +1,130 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:12 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - Markup block - Gen - 12 - (23:0,23) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 10 - (24:0,24) - p - ptaghelper - StartTagAndEndTag -

        ...

        - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:1 - SyntaxKind.Text;[Foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (34:0,34) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (35:0,35) - Tokens:15 - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.HtmlTextLiteral - [ ] - [65..66) - FullWidth: 1 - Slots: 1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (70:0,70) - Tokens:12 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - Markup block - Gen - 12 - (89:0,89) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (89:0,89) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 10 - (90:0,90) - p - ptaghelper - StartTagAndEndTag -

        ...

        - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (93:0,93) - Tokens:1 - SyntaxKind.Text;[Foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (100:0,100) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (101:0,101) - Tokens:15 - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Semicolon;[;]; +RazorDocument - [0..131)::131 - [

        @do { var foo = bar;

        Foo

        foo++; } while (foo);

        @do { var foo = bar;

        Foo

        foo++; } while (foo);

        ] + MarkupBlock - [0..131)::131 + MarkupTagHelperElement - [0..65)::65 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + CSharpCodeBlock - [3..61)::58 + CSharpTransition - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [4..23)::19 - [do { var foo = bar;] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + MarkupBlock - [23..35)::12 + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [24..34)::10 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [24..27)::3 + MarkupTextLiteral - [24..27)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [27..30)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagHelperEndTag - [30..34)::4 + MarkupTextLiteral - [30..34)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [35..61)::26 - [foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTagHelperEndTag - [61..65)::4 + MarkupTextLiteral - [61..65)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [65..66)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [66..131)::65 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [66..69)::3 + MarkupTextLiteral - [66..69)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + CSharpCodeBlock - [69..127)::58 + CSharpTransition - [69..70)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [70..89)::19 - [do { var foo = bar;] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + MarkupBlock - [89..101)::12 + MarkupTextLiteral - [89..90)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [90..100)::10 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [90..93)::3 + MarkupTextLiteral - [90..93)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [93..96)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagHelperEndTag - [96..100)::4 + MarkupTextLiteral - [96..100)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [100..101)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [101..127)::26 - [foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTagHelperEndTag - [127..131)::4 + MarkupTextLiteral - [127..131)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks7.stree.txt index 5a970df06..3e4acaf16 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks7.stree.txt @@ -1,42 +1,58 @@ -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) - Tokens:2 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (9:0,9) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (10:0,10) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Tag block - Gen - 8 - (22:0,22) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [inside of ] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:4 - SyntaxKind.Text;[inside]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[of]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (40:0,40) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (41:0,41) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [ strong tag] - [53..64) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [ strong tag] - [53..64) - FullWidth: 11 - Slots: 4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[strong]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[tag]; - Tag block - Gen - 9 - (64:0,64) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (64:0,64) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..77)::77 - [

        Hello @DateTime.Nowinside of @DateTime.Now strong tag

        ] + MarkupBlock - [0..77)::77 + MarkupTagHelperElement - [0..77)::77 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..9)::6 - [Hello ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + CSharpCodeBlock - [9..22)::13 + CSharpImplicitExpression - [9..22)::13 + CSharpTransition - [9..10)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [10..22)::12 + CSharpCodeBlock - [10..22)::12 + CSharpExpressionLiteral - [10..22)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagBlock - [22..30)::8 - [] + MarkupTextLiteral - [22..30)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [30..40)::10 - [inside of ] - Gen - SpanEditHandler;Accepts:Any + Text;[inside]; + Whitespace;[ ]; + Text;[of]; + Whitespace;[ ]; + CSharpCodeBlock - [40..53)::13 + CSharpImplicitExpression - [40..53)::13 + CSharpTransition - [40..41)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [41..53)::12 + CSharpCodeBlock - [41..53)::12 + CSharpExpressionLiteral - [41..53)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [53..64)::11 - [ strong tag] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[strong]; + Whitespace;[ ]; + Text;[tag]; + MarkupTagBlock - [64..73)::9 - [] + MarkupTextLiteral - [64..73)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [73..77)::4 + MarkupTextLiteral - [73..77)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks8.stree.txt index 5792836bd..41311d316 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesComplexTagHelperTagBlocks8.stree.txt @@ -1,110 +1,140 @@ -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) - Tokens:2 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - Statement block - Gen - 58 - (9:0,9) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [do { var foo = bar;] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:12 - SyntaxKind.Keyword;[do]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftBrace;[{]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[var]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Assign;[=]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.Semicolon;[;]; - Markup block - Gen - 12 - (29:0,29) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 10 - (30:0,30) - p - ptaghelper - StartTagAndEndTag -

        ...

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

        ...

        - Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (109:0,109) - Tokens:1 - SyntaxKind.Text;[Foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (116:0,116) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Code span - Gen - [foo++; } while (foo);] - SpanEditHandler;Accepts:None - (117:0,117) - Tokens:15 - SyntaxKind.Identifier;[foo]; - SyntaxKind.Increment;[++]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBrace;[}]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Keyword;[while]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.LeftParenthesis;[(]; - SyntaxKind.Identifier;[foo]; - SyntaxKind.LessThan;[<]; - SyntaxKind.Identifier;[bar]; - SyntaxKind.GreaterThan;[>]; - SyntaxKind.RightParenthesis;[)]; - SyntaxKind.Semicolon;[;]; - SyntaxKind.HtmlTextLiteral - [ strong tag] - [143..154) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [ strong tag] - [143..154) - FullWidth: 11 - Slots: 4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[strong]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[tag]; - Tag block - Gen - 9 - (154:0,154) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (154:0,154) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..167)::167 - [

        Hello @do { var foo = bar;

        Foo

        foo++; } while (foo);inside of @do { var foo = bar;

        Foo

        foo++; } while (foo); strong tag

        ] + MarkupBlock - [0..167)::167 + MarkupTagHelperElement - [0..167)::167 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..9)::6 - [Hello ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + CSharpCodeBlock - [9..67)::58 + CSharpTransition - [9..10)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [10..29)::19 - [do { var foo = bar;] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + MarkupBlock - [29..41)::12 + MarkupTextLiteral - [29..30)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [30..40)::10 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [30..33)::3 + MarkupTextLiteral - [30..33)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [33..36)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagHelperEndTag - [36..40)::4 + MarkupTextLiteral - [36..40)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [40..41)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [41..67)::26 - [foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTagBlock - [67..75)::8 - [] + MarkupTextLiteral - [67..75)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [75..85)::10 - [inside of ] - Gen - SpanEditHandler;Accepts:Any + Text;[inside]; + Whitespace;[ ]; + Text;[of]; + Whitespace;[ ]; + CSharpCodeBlock - [85..143)::58 + CSharpTransition - [85..86)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementLiteral - [86..105)::19 - [do { var foo = bar;] - Gen - SpanEditHandler;Accepts:Any + Keyword;[do]; + Whitespace;[ ]; + LeftBrace;[{]; + Whitespace;[ ]; + Identifier;[var]; + Whitespace;[ ]; + Identifier;[foo]; + Whitespace;[ ]; + Assign;[=]; + Whitespace;[ ]; + Identifier;[bar]; + Semicolon;[;]; + MarkupBlock - [105..117)::12 + MarkupTextLiteral - [105..106)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [106..116)::10 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [106..109)::3 + MarkupTextLiteral - [106..109)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [109..112)::3 - [Foo] - Gen - SpanEditHandler;Accepts:Any + Text;[Foo]; + MarkupTagHelperEndTag - [112..116)::4 + MarkupTextLiteral - [112..116)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [116..117)::1 - [ ] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + CSharpStatementLiteral - [117..143)::26 - [foo++; } while (foo);] - Gen - SpanEditHandler;Accepts:None + Identifier;[foo]; + Increment;[++]; + Semicolon;[;]; + Whitespace;[ ]; + RightBrace;[}]; + Whitespace;[ ]; + Keyword;[while]; + Whitespace;[ ]; + LeftParenthesis;[(]; + Identifier;[foo]; + LessThan;[<]; + Identifier;[bar]; + GreaterThan;[>]; + RightParenthesis;[)]; + Semicolon;[;]; + MarkupTextLiteral - [143..154)::11 - [ strong tag] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[strong]; + Whitespace;[ ]; + Text;[tag]; + MarkupTagBlock - [154..163)::9 - [
        ] + MarkupTextLiteral - [154..163)::9 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [163..167)::4 + MarkupTextLiteral - [163..167)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks1.stree.txt index d789af3ce..6b15f8da5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks1.stree.txt @@ -1,23 +1,66 @@ -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) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[foo]; - style - DoubleQuotes - Markup block - Gen - 21 - (35:0,35) - Markup span - Gen - [ color] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[color]; - Markup span - Gen - [ :] - SpanEditHandler;Accepts:Any - (43:0,43) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[:]; - Markup span - Gen - [ red] - SpanEditHandler;Accepts:Any - (45:0,45) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[red]; - Markup span - Gen - [ ;] - SpanEditHandler;Accepts:Any - (50:0,50) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[;]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (53:0,53) - Tokens:1 - SyntaxKind.Whitespace;[ ]; +RazorDocument - [0..66)::66 - [

        ] + MarkupBlock - [0..66)::66 + MarkupTagHelperElement - [0..66)::66 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..62)::62 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..24)::22 - class - DoubleQuotes - Unbound - [ class=" foo"] + MarkupTextLiteral - [2..8)::6 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..13)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [14..15)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [15..23)::8 + MarkupLiteralAttributeValue - [15..23)::8 - [ foo] + MarkupTextLiteral - [15..20)::5 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [20..23)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [24..57)::33 - style - DoubleQuotes - Unbound - [ style=" color : red ; "] + MarkupTextLiteral - [24..28)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [28..33)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [34..35)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [35..56)::21 + MarkupLiteralAttributeValue - [35..43)::8 - [ color] + MarkupTextLiteral - [35..38)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [38..43)::5 - [color] - Gen - SpanEditHandler;Accepts:Any + Text;[color]; + MarkupLiteralAttributeValue - [43..45)::2 - [ :] + MarkupTextLiteral - [43..44)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [44..45)::1 - [:] - Gen - SpanEditHandler;Accepts:Any + Text;[:]; + MarkupLiteralAttributeValue - [45..50)::5 - [ red] + MarkupTextLiteral - [45..47)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [47..50)::3 - [red] - Gen - SpanEditHandler;Accepts:Any + Text;[red]; + MarkupLiteralAttributeValue - [50..53)::3 - [ ;] + MarkupTextLiteral - [50..52)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [52..53)::1 - [;] - Gen - SpanEditHandler;Accepts:Any + Text;[;]; + MarkupLiteralAttributeValue - [53..56)::3 - [ ] + MarkupTextLiteral - [53..56)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [56..57)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [57..62)::5 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [62..66)::4 + MarkupTextLiteral - [62..66)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks2.stree.txt index 081b464a5..6faa9a458 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks2.stree.txt @@ -1,28 +1,70 @@ -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) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[foo]; - style - DoubleQuotes - Markup block - Gen - 21 - (35:0,35) - Markup span - Gen - [ color] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[color]; - Markup span - Gen - [ :] - SpanEditHandler;Accepts:Any - (43:0,43) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[:]; - Markup span - Gen - [ red] - SpanEditHandler;Accepts:Any - (45:0,45) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[red]; - Markup span - Gen - [ ;] - SpanEditHandler;Accepts:Any - (50:0,50) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[;]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (53:0,53) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.HtmlTextLiteral - [Hello World] - [62..73) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [62..73) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..77)::77 - [

        Hello World

        ] + MarkupBlock - [0..77)::77 + MarkupTagHelperElement - [0..77)::77 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..62)::62 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..24)::22 - class - DoubleQuotes - Unbound - [ class=" foo"] + MarkupTextLiteral - [2..8)::6 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..13)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [14..15)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [15..23)::8 + MarkupLiteralAttributeValue - [15..23)::8 - [ foo] + MarkupTextLiteral - [15..20)::5 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [20..23)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [24..57)::33 - style - DoubleQuotes - Unbound - [ style=" color : red ; "] + MarkupTextLiteral - [24..28)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [28..33)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [34..35)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [35..56)::21 + MarkupLiteralAttributeValue - [35..43)::8 - [ color] + MarkupTextLiteral - [35..38)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [38..43)::5 - [color] - Gen - SpanEditHandler;Accepts:Any + Text;[color]; + MarkupLiteralAttributeValue - [43..45)::2 - [ :] + MarkupTextLiteral - [43..44)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [44..45)::1 - [:] - Gen - SpanEditHandler;Accepts:Any + Text;[:]; + MarkupLiteralAttributeValue - [45..50)::5 - [ red] + MarkupTextLiteral - [45..47)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [47..50)::3 - [red] - Gen - SpanEditHandler;Accepts:Any + Text;[red]; + MarkupLiteralAttributeValue - [50..53)::3 - [ ;] + MarkupTextLiteral - [50..52)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [52..53)::1 - [;] - Gen - SpanEditHandler;Accepts:Any + Text;[;]; + MarkupLiteralAttributeValue - [53..56)::3 - [ ] + MarkupTextLiteral - [53..56)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [56..57)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [57..62)::5 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTextLiteral - [62..73)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [73..77)::4 + MarkupTextLiteral - [73..77)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks3.stree.txt index 34ec32f38..9e987e23a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesOddlySpacedTagHelperTagBlocks3.stree.txt @@ -1,25 +1,74 @@ -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) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[foo]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.HtmlTextLiteral - [Hello] - [25..30) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[Hello]; - SyntaxKind.HtmlTextLiteral - [ ] - [34..35) - FullWidth: 1 - Slots: 1 - SyntaxKind.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) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[color:red;]; - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (60:0,60) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.HtmlTextLiteral - [World] - [64..69) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; +RazorDocument - [0..73)::73 - [

        Hello

        World

        ] + MarkupBlock - [0..73)::73 + MarkupTagHelperElement - [0..34)::34 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..23)::21 - class - DoubleQuotes - Unbound - [ class=" foo "] + MarkupTextLiteral - [2..7)::5 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..12)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [14..22)::8 + MarkupLiteralAttributeValue - [14..20)::6 - [ foo] + MarkupTextLiteral - [14..17)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..20)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupLiteralAttributeValue - [20..22)::2 - [ ] + MarkupTextLiteral - [20..22)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [22..23)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [23..25)::2 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTextLiteral - [25..30)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperEndTag - [30..34)::4 + MarkupTextLiteral - [30..34)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [35..73)::38 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [35..64)::29 + MarkupTextLiteral - [35..37)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [37..62)::25 - style - DoubleQuotes - Unbound - [ style=" color:red; "] + MarkupTextLiteral - [37..41)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [41..46)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [47..48)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [48..61)::13 + MarkupLiteralAttributeValue - [48..60)::12 - [ color:red;] + MarkupTextLiteral - [48..50)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [50..60)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupLiteralAttributeValue - [60..61)::1 - [ ] + MarkupTextLiteral - [60..61)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [61..62)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [62..64)::2 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTextLiteral - [64..69)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [69..73)::4 + MarkupTextLiteral - [69..73)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks1.stree.txt index 6e1b6c4d2..486c8312a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks1.stree.txt @@ -1,3 +1,14 @@ -Markup block - Gen - 7 - (0:0,0) - Tag block - Gen - 7 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        +RazorDocument - [0..7)::7 - [

        ] + MarkupBlock - [0..7)::7 + MarkupTagHelperElement - [0..7)::7 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [3..7)::4 + MarkupTextLiteral - [3..7)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks2.stree.txt index 02a4e73af..0700f899e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks2.stree.txt @@ -1,8 +1,18 @@ -Markup block - Gen - 18 - (0:0,0) - Tag block - Gen - 18 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [Hello World] - [3..14) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [3..14) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..18)::18 - [

        Hello World

        ] + MarkupBlock - [0..18)::18 + MarkupTagHelperElement - [0..18)::18 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..14)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [14..18)::4 + MarkupTextLiteral - [14..18)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks3.stree.txt index 617df53e3..7bad5ee37 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks3.stree.txt @@ -1,11 +1,32 @@ -Markup block - Gen - 25 - (0:0,0) - Tag block - Gen - 12 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [Hello] - [3..8) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[Hello]; - SyntaxKind.HtmlTextLiteral - [ ] - [12..13) - FullWidth: 1 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 12 - (13:0,13) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [World] - [16..21) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; +RazorDocument - [0..25)::25 - [

        Hello

        World

        ] + MarkupBlock - [0..25)::25 + MarkupTagHelperElement - [0..12)::12 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..8)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperEndTag - [8..12)::4 + MarkupTextLiteral - [8..12)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [13..25)::12 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [13..16)::3 + MarkupTextLiteral - [13..16)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [16..21)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [21..25)::4 + MarkupTextLiteral - [21..25)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks4.stree.txt index 330599093..4851c15aa 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesPlainTagHelperTagBlocks4.stree.txt @@ -1,29 +1,38 @@ -Markup block - Gen - 56 - (0:0,0) - Tag block - Gen - 56 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [Hello World ] - [3..15) - FullWidth: 12 - Slots: 1 - SyntaxKind.List - [Hello World ] - [3..15) - FullWidth: 12 - Slots: 4 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 8 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [inside of strong tag] - [23..43) - FullWidth: 20 - Slots: 1 - SyntaxKind.List - [inside of strong tag] - [23..43) - FullWidth: 20 - Slots: 7 - SyntaxKind.Text;[inside]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[of]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[strong]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[tag]; - Tag block - Gen - 9 - (43:0,43) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..56)::56 - [

        Hello World inside of strong tag

        ] + MarkupBlock - [0..56)::56 + MarkupTagHelperElement - [0..56)::56 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..15)::12 - [Hello World ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + Whitespace;[ ]; + MarkupTagBlock - [15..23)::8 - [] + MarkupTextLiteral - [15..23)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [23..43)::20 - [inside of strong tag] - Gen - SpanEditHandler;Accepts:Any + Text;[inside]; + Whitespace;[ ]; + Text;[of]; + Whitespace;[ ]; + Text;[strong]; + Whitespace;[ ]; + Text;[tag]; + MarkupTagBlock - [43..52)::9 - [] + MarkupTextLiteral - [43..52)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [52..56)::4 + MarkupTextLiteral - [52..56)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers1.stree.txt index d3fd3fe63..3def95a57 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers1.stree.txt @@ -1,11 +1,22 @@ -Markup block - Gen - 31 - (0:0,0) - Tag block - Gen - 31 - (0:0,0) - script - scripttaghelper - StartTagAndEndTag - - Markup span - Gen - [] + MarkupBlock - [0..31)::31 + MarkupTagHelperElement - [0..31)::31 - script[StartTagAndEndTag] - scripttaghelper + MarkupTagHelperStartTag - [0..8)::8 + MarkupTextLiteral - [0..8)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers2.stree.txt index a6190d64f..22c1ec863 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers2.stree.txt @@ -1,15 +1,26 @@ -Markup block - Gen - 40 - (0:0,0) - Tag block - Gen - 40 - (0:0,0) - script - scripttaghelper - StartTagAndEndTag - - Markup span - Gen - [Hello World
        ] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:11 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..40)::40 - [] + MarkupBlock - [0..40)::40 + MarkupTagHelperElement - [0..40)::40 - script[StartTagAndEndTag] - scripttaghelper + MarkupTagHelperStartTag - [0..8)::8 + MarkupTextLiteral - [0..8)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers3.stree.txt index 79c78b599..0eac8b8ea 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers3.stree.txt @@ -1,21 +1,52 @@ -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) - Tokens:9 - SyntaxKind.Text;[Hel]; - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.Text;[lo]; - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ ] - [29..30) - FullWidth: 1 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 23 - (30:0,30) - p - ptaghelper - StartTagAndEndTag -

        ...

        - Tag block - Gen - 16 - (33:0,33) - div - divtaghelper - StartTagAndEndTag -
        ...
        - SyntaxKind.HtmlTextLiteral - [World] - [38..43) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; +RazorDocument - [0..53)::53 - [

        World

        ] + MarkupBlock - [0..53)::53 + MarkupTagHelperElement - [0..29)::29 - script[StartTagAndEndTag] - scripttaghelper + MarkupTagHelperStartTag - [0..8)::8 + MarkupTextLiteral - [0..8)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; + MarkupTextLiteral - [29..30)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [30..53)::23 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [30..33)::3 + MarkupTextLiteral - [30..33)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [33..49)::16 - div[StartTagAndEndTag] - divtaghelper + MarkupTagHelperStartTag - [33..38)::5 + MarkupTextLiteral - [33..38)::5 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [38..43)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [43..49)::6 + MarkupTextLiteral - [43..49)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [49..53)::4 + MarkupTextLiteral - [49..53)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers4.stree.txt index 7e9a9d565..71cb1a852 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers4.stree.txt @@ -1,26 +1,47 @@ -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) - Tokens:9 - SyntaxKind.Text;[Hel]; - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.Text;[lo]; - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ ] - [39..40) - FullWidth: 1 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 35 - (40:0,40) - script - scripttaghelper - StartTagAndEndTag - - Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (48:0,48) - Tokens:8 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[span]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.Text;[World]; - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[span]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..75)::75 - [ ] + MarkupBlock - [0..75)::75 + MarkupTagHelperElement - [0..39)::39 - script[StartTagAndEndTag] - scripttaghelper + MarkupTagHelperStartTag - [0..8)::8 + MarkupTextLiteral - [0..8)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; + MarkupTextLiteral - [39..40)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [40..75)::35 - script[StartTagAndEndTag] - scripttaghelper + MarkupTagHelperStartTag - [40..48)::8 + MarkupTextLiteral - [40..48)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers5.stree.txt index e308a1049..783eb3ceb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers5.stree.txt @@ -1,9 +1,39 @@ -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) - Tokens:1 - SyntaxKind.Text;[foo]; - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:1 - SyntaxKind.Text;[color:red;]; - SyntaxKind.HtmlTextLiteral - [ World] - [57..63) - FullWidth: 6 - Slots: 1 - SyntaxKind.List - [ World] - [57..63) - FullWidth: 6 - Slots: 2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..67)::67 - [

        Hello World

        ] + MarkupBlock - [0..67)::67 + MarkupTagHelperElement - [0..67)::67 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..9)::6 - [Hello ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + MarkupTagHelperElement - [9..57)::48 - script[StartTagAndEndTag] - scripttaghelper + MarkupTagHelperStartTag - [9..48)::39 + MarkupTextLiteral - [9..16)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[script]; + MarkupTagHelperAttribute - [16..28)::12 - class - DoubleQuotes - Unbound - [ class="foo"] + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..22)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [24..27)::3 + MarkupLiteralAttributeValue - [24..27)::3 - [foo] + MarkupTextLiteral - [24..27)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [27..28)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [28..47)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [28..29)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [29..34)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [35..36)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [36..46)::10 + MarkupLiteralAttributeValue - [36..46)::10 - [color:red;] + MarkupTextLiteral - [36..46)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [46..47)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [47..48)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [48..57)::9 + MarkupTextLiteral - [48..57)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; + MarkupTextLiteral - [57..63)::6 - [ World] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [63..67)::4 + MarkupTextLiteral - [63..67)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers7.stree.txt index 6dae63d61..659b282dd 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesScriptTagHelpers7.stree.txt @@ -1,25 +1,66 @@ -Markup block - Gen - 77 - (0:0,0) - Tag block - Gen - 77 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [Hello ] - [3..9) - FullWidth: 6 - Slots: 1 - SyntaxKind.List - [Hello ] - [3..9) - FullWidth: 6 - Slots: 2 - SyntaxKind.Text;[Hello]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [foo@bar.com] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:1 - SyntaxKind.Text;[foo@bar.com]; - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (46:0,46) - Tokens:1 - SyntaxKind.Text;[color:red;]; - SyntaxKind.HtmlTextLiteral - [ World] - [67..73) - FullWidth: 6 - Slots: 1 - SyntaxKind.List - [ World] - [67..73) - FullWidth: 6 - Slots: 2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..77)::77 - [

        Hello World

        ] + MarkupBlock - [0..77)::77 + MarkupTagHelperElement - [0..77)::77 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..9)::6 - [Hello ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + MarkupTagHelperElement - [9..67)::58 - script[StartTagAndEndTag] - scripttaghelper + MarkupTagHelperStartTag - [9..58)::49 + MarkupTextLiteral - [9..16)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[script]; + MarkupTagHelperAttribute - [16..38)::22 - class - DoubleQuotes - Unbound - [ class="@@foo@bar.com"] + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..22)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [24..37)::13 + MarkupBlock - [24..26)::2 + MarkupTextLiteral - [24..25)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupEphemeralTextLiteral - [25..26)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupLiteralAttributeValue - [26..37)::11 - [foo@bar.com] + MarkupTextLiteral - [26..37)::11 - [foo@bar.com] - Gen - SpanEditHandler;Accepts:Any + Text;[foo@bar.com]; + MarkupTextLiteral - [37..38)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [38..57)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [38..39)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [39..44)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [45..46)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [46..56)::10 + MarkupLiteralAttributeValue - [46..56)::10 - [color:red;] + MarkupTextLiteral - [46..56)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [56..57)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [57..58)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [58..67)::9 + MarkupTextLiteral - [58..67)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; + MarkupTextLiteral - [67..73)::6 - [ World] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [73..77)::4 + MarkupTextLiteral - [73..77)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers1.stree.txt index 5c829074e..a4e4f2075 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers1.stree.txt @@ -1,9 +1,39 @@ -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) - Tokens:1 - SyntaxKind.Text;[foo]; - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:1 - SyntaxKind.Text;[color:red;]; +RazorDocument - [0..36)::36 - [

        ] + MarkupBlock - [0..36)::36 + MarkupTagHelperElement - [0..36)::36 - p[SelfClosing] - ptaghelper + MarkupTagHelperStartTag - [0..36)::36 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="foo"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [foo] + MarkupTextLiteral - [10..13)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [14..33)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..20)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [22..32)::10 + MarkupLiteralAttributeValue - [22..32)::10 - [color:red;] + MarkupTextLiteral - [22..32)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [32..33)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [33..36)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers2.stree.txt index 0f45a00e6..f4fac8987 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers2.stree.txt @@ -1,19 +1,57 @@ -Markup block - Gen - 55 - (0:0,0) - Tag block - Gen - 55 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [Hello ] - [3..9) - FullWidth: 6 - Slots: 1 - SyntaxKind.List - [Hello ] - [3..9) - FullWidth: 6 - Slots: 2 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 36 - (9:0,9) - p - ptaghelper - SelfClosing -

        - class - DoubleQuotes - Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.Text;[foo]; - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Text;[color:red;]; - SyntaxKind.HtmlTextLiteral - [ World] - [45..51) - FullWidth: 6 - Slots: 1 - SyntaxKind.List - [ World] - [45..51) - FullWidth: 6 - Slots: 2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..55)::55 - [

        Hello

        World

        ] + MarkupBlock - [0..55)::55 + MarkupTagHelperElement - [0..55)::55 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..9)::6 - [Hello ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + MarkupTagHelperElement - [9..45)::36 - p[SelfClosing] - ptaghelper + MarkupTagHelperStartTag - [9..45)::36 + MarkupTextLiteral - [9..11)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [11..23)::12 - class - DoubleQuotes - Unbound - [ class="foo"] + MarkupTextLiteral - [11..12)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [12..17)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [18..19)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [19..22)::3 + MarkupLiteralAttributeValue - [19..22)::3 - [foo] + MarkupTextLiteral - [19..22)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [22..23)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [23..42)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [24..29)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [30..31)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [31..41)::10 + MarkupLiteralAttributeValue - [31..41)::10 - [color:red;] + MarkupTextLiteral - [31..41)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [41..42)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [42..45)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [45..51)::6 - [ World] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [51..55)::4 + MarkupTextLiteral - [51..55)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers3.stree.txt index 153387713..f1605095a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesSelfClosingTagHelpers3.stree.txt @@ -1,17 +1,54 @@ -Markup block - Gen - 52 - (0:0,0) - Markup span - Gen - [Hello] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Text;[Hello]; - Tag block - Gen - 17 - (5:0,5) - p - ptaghelper - SelfClosing -

        - class - DoubleQuotes - Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.Text;[foo]; - SyntaxKind.HtmlTextLiteral - [ ] - [22..23) - FullWidth: 1 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 24 - (23:0,23) - p - ptaghelper - SelfClosing -

        - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:1 - SyntaxKind.Text;[color:red;]; - Markup span - Gen - [World] - SpanEditHandler;Accepts:Any - (47:0,47) - Tokens:1 - SyntaxKind.Text;[World]; +RazorDocument - [0..52)::52 - [Hello

        World] + MarkupBlock - [0..52)::52 + MarkupTextLiteral - [0..5)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperElement - [5..22)::17 - p[SelfClosing] - ptaghelper + MarkupTagHelperStartTag - [5..22)::17 + MarkupTextLiteral - [5..7)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [7..19)::12 - class - DoubleQuotes - Unbound - [ class="foo"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..13)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [14..15)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [15..18)::3 + MarkupLiteralAttributeValue - [15..18)::3 - [foo] + MarkupTextLiteral - [15..18)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [18..19)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [19..22)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [22..23)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [23..47)::24 - p[SelfClosing] - ptaghelper + MarkupTagHelperStartTag - [23..47)::24 + MarkupTextLiteral - [23..25)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [25..44)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..31)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [32..33)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [33..43)::10 + MarkupLiteralAttributeValue - [33..43)::10 - [color:red;] + MarkupTextLiteral - [33..43)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [43..44)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [44..47)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [47..52)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes1.stree.txt index d6f08b990..06efe6b52 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes1.stree.txt @@ -1,9 +1,43 @@ -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) - Tokens:1 - SyntaxKind.Text;[foo]; - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:1 - SyntaxKind.Text;[color:red;]; +RazorDocument - [0..38)::38 - [

        ] + MarkupBlock - [0..38)::38 + MarkupTagHelperElement - [0..38)::38 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..34)::34 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="foo"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [foo] + MarkupTextLiteral - [10..13)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [14..33)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..20)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [22..32)::10 + MarkupLiteralAttributeValue - [22..32)::10 - [color:red;] + MarkupTextLiteral - [22..32)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [32..33)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [33..34)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [34..38)::4 + MarkupTextLiteral - [34..38)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes2.stree.txt index 40e20244b..de476da38 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes2.stree.txt @@ -1,14 +1,47 @@ -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) - Tokens:1 - SyntaxKind.Text;[foo]; - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:1 - SyntaxKind.Text;[color:red;]; - SyntaxKind.HtmlTextLiteral - [Hello World] - [34..45) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [34..45) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..49)::49 - [

        Hello World

        ] + MarkupBlock - [0..49)::49 + MarkupTagHelperElement - [0..49)::49 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..34)::34 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="foo"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [foo] + MarkupTextLiteral - [10..13)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [14..33)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..20)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [22..32)::10 + MarkupLiteralAttributeValue - [22..32)::10 - [color:red;] + MarkupTextLiteral - [22..32)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [32..33)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [33..34)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [34..45)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [45..49)::4 + MarkupTextLiteral - [45..49)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes3.stree.txt index 0eccf9b4d..c89bb22d8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes3.stree.txt @@ -1,17 +1,62 @@ -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) - Tokens:1 - SyntaxKind.Text;[foo]; - SyntaxKind.HtmlTextLiteral - [Hello] - [15..20) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[Hello]; - SyntaxKind.HtmlTextLiteral - [ ] - [24..25) - FullWidth: 1 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 31 - (25:0,25) - p - ptaghelper - StartTagAndEndTag -

        ...

        - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:1 - SyntaxKind.Text;[color:red;]; - SyntaxKind.HtmlTextLiteral - [World] - [47..52) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; +RazorDocument - [0..56)::56 - [

        Hello

        World

        ] + MarkupBlock - [0..56)::56 + MarkupTagHelperElement - [0..24)::24 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="foo"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [foo] + MarkupTextLiteral - [10..13)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [15..20)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperEndTag - [20..24)::4 + MarkupTextLiteral - [20..24)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [24..25)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [25..56)::31 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [25..47)::22 + MarkupTextLiteral - [25..27)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [27..46)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [27..28)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [28..33)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [34..35)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [35..45)::10 + MarkupLiteralAttributeValue - [35..45)::10 - [color:red;] + MarkupTextLiteral - [35..45)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [45..46)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [46..47)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [47..52)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [52..56)::4 + MarkupTextLiteral - [52..56)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes4.stree.txt index 73b71bd77..eecb4cde2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithPlainAttributes4.stree.txt @@ -1,46 +1,82 @@ -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) - Tokens:1 - SyntaxKind.Text;[foo]; - style - DoubleQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:1 - SyntaxKind.Text;[color:red;]; - SyntaxKind.HtmlTextLiteral - [Hello World ] - [34..46) - FullWidth: 12 - Slots: 1 - SyntaxKind.List - [Hello World ] - [34..46) - FullWidth: 12 - Slots: 4 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (61:0,61) - Tokens:1 - SyntaxKind.Text;[foo]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (64:0,64) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (65:0,65) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [inside of strong tag] - [66..86) - FullWidth: 20 - Slots: 1 - SyntaxKind.List - [inside of strong tag] - [66..86) - FullWidth: 20 - Slots: 7 - SyntaxKind.Text;[inside]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[of]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[strong]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[tag]; - Tag block - Gen - 9 - (86:0,86) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (86:0,86) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..99)::99 - [

        Hello World inside of strong tag

        ] + MarkupBlock - [0..99)::99 + MarkupTagHelperElement - [0..99)::99 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..34)::34 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="foo"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [foo] + MarkupTextLiteral - [10..13)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [14..33)::19 - style - DoubleQuotes - Unbound - [ style="color:red;"] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..20)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [22..32)::10 + MarkupLiteralAttributeValue - [22..32)::10 - [color:red;] + MarkupTextLiteral - [22..32)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [32..33)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [33..34)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [34..46)::12 - [Hello World ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + Whitespace;[ ]; + MarkupTagBlock - [46..66)::20 - [] + MarkupTextLiteral - [46..53)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupAttributeBlock - [53..65)::12 - [ class="foo"] + MarkupTextLiteral - [53..54)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [54..59)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [60..61)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [61..64)::3 + MarkupLiteralAttributeValue - [61..64)::3 - [foo] + MarkupTextLiteral - [61..64)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [64..65)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [65..66)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [66..86)::20 - [inside of strong tag] - Gen - SpanEditHandler;Accepts:Any + Text;[inside]; + Whitespace;[ ]; + Text;[of]; + Whitespace;[ ]; + Text;[strong]; + Whitespace;[ ]; + Text;[tag]; + MarkupTagBlock - [86..95)::9 - [] + MarkupTextLiteral - [86..95)::9 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [95..99)::4 + MarkupTextLiteral - [95..99)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes1.stree.txt index f9a32f656..9966a4c94 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes1.stree.txt @@ -1,19 +1,54 @@ -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) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (22:0,22) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - style - NoQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Text;[color:red;]; +RazorDocument - [0..56)::56 - [

        ] + MarkupBlock - [0..56)::56 + MarkupTagHelperElement - [0..56)::56 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..52)::52 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class - NoQuotes - Unbound - [ class=foo] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..12)::3 + MarkupLiteralAttributeValue - [9..12)::3 - [foo] + MarkupTextLiteral - [9..12)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTagHelperAttribute - [12..34)::22 - dynamic - DoubleQuotes - Unbound - [ dynamic=@DateTime.Now] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..20)::7 - [dynamic] - Gen - SpanEditHandler;Accepts:Any + Text;[dynamic]; + Equals;[=]; + MarkupTagHelperAttributeValue - [21..34)::13 + MarkupDynamicAttributeValue - [21..34)::13 - [@DateTime.Now] + GenericBlock - [21..34)::13 + CSharpCodeBlock - [21..34)::13 + CSharpImplicitExpression - [21..34)::13 + CSharpTransition - [21..22)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [22..34)::12 + CSharpCodeBlock - [22..34)::12 + CSharpExpressionLiteral - [22..34)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagHelperAttribute - [34..51)::17 - style - NoQuotes - Unbound - [ style=color:red;] + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [35..40)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTagHelperAttributeValue - [41..51)::10 + MarkupLiteralAttributeValue - [41..51)::10 - [color:red;] + MarkupTextLiteral - [41..51)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [51..52)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [52..56)::4 + MarkupTextLiteral - [52..56)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes2.stree.txt index 6d146b0c3..d24abe9e2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes2.stree.txt @@ -1,24 +1,58 @@ -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) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (22:0,22) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - style - NoQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Text;[color:red;]; - SyntaxKind.HtmlTextLiteral - [Hello World] - [52..63) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [52..63) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..67)::67 - [

        Hello World

        ] + MarkupBlock - [0..67)::67 + MarkupTagHelperElement - [0..67)::67 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..52)::52 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class - NoQuotes - Unbound - [ class=foo] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..12)::3 + MarkupLiteralAttributeValue - [9..12)::3 - [foo] + MarkupTextLiteral - [9..12)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTagHelperAttribute - [12..34)::22 - dynamic - DoubleQuotes - Unbound - [ dynamic=@DateTime.Now] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..20)::7 - [dynamic] - Gen - SpanEditHandler;Accepts:Any + Text;[dynamic]; + Equals;[=]; + MarkupTagHelperAttributeValue - [21..34)::13 + MarkupDynamicAttributeValue - [21..34)::13 - [@DateTime.Now] + GenericBlock - [21..34)::13 + CSharpCodeBlock - [21..34)::13 + CSharpImplicitExpression - [21..34)::13 + CSharpTransition - [21..22)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [22..34)::12 + CSharpCodeBlock - [22..34)::12 + CSharpExpressionLiteral - [22..34)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagHelperAttribute - [34..51)::17 - style - NoQuotes - Unbound - [ style=color:red;] + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [35..40)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTagHelperAttributeValue - [41..51)::10 + MarkupLiteralAttributeValue - [41..51)::10 - [color:red;] + MarkupTextLiteral - [41..51)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [51..52)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [52..63)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [63..67)::4 + MarkupTextLiteral - [63..67)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes3.stree.txt index 1d4b98a3f..4663bb153 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes3.stree.txt @@ -1,32 +1,66 @@ -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) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (22:0,22) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - style - DoubleQuotes - Markup block - Gen - 12 - (41:0,41) - Markup span - Gen - [color] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Text;[color]; - Markup block - Gen - 2 - (46:0,46) - Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (46:0,46) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (47:0,47) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [:red;] - SpanEditHandler;Accepts:Any - (48:0,48) - Tokens:1 - SyntaxKind.Text;[:red;]; - SyntaxKind.HtmlTextLiteral - [Hello World] - [54..65) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [54..65) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..69)::69 - [

        Hello World

        ] + MarkupBlock - [0..69)::69 + MarkupTagHelperElement - [0..69)::69 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..54)::54 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class - NoQuotes - Unbound - [ class=foo] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..12)::3 + MarkupLiteralAttributeValue - [9..12)::3 - [foo] + MarkupTextLiteral - [9..12)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTagHelperAttribute - [12..34)::22 - dynamic - DoubleQuotes - Unbound - [ dynamic=@DateTime.Now] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..20)::7 - [dynamic] - Gen - SpanEditHandler;Accepts:Any + Text;[dynamic]; + Equals;[=]; + MarkupTagHelperAttributeValue - [21..34)::13 + MarkupDynamicAttributeValue - [21..34)::13 - [@DateTime.Now] + GenericBlock - [21..34)::13 + CSharpCodeBlock - [21..34)::13 + CSharpImplicitExpression - [21..34)::13 + CSharpTransition - [21..22)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [22..34)::12 + CSharpCodeBlock - [22..34)::12 + CSharpExpressionLiteral - [22..34)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagHelperAttribute - [34..53)::19 - style - DoubleQuotes - Unbound - [ style=color@@:red;] + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [35..40)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTagHelperAttributeValue - [41..53)::12 + MarkupLiteralAttributeValue - [41..46)::5 - [color] + MarkupTextLiteral - [41..46)::5 - [color] - Gen - SpanEditHandler;Accepts:Any + Text;[color]; + MarkupBlock - [46..48)::2 + MarkupTextLiteral - [46..47)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupEphemeralTextLiteral - [47..48)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupLiteralAttributeValue - [48..53)::5 - [:red;] + MarkupTextLiteral - [48..53)::5 - [:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[:red;]; + MarkupTextLiteral - [53..54)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [54..65)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [65..69)::4 + MarkupTextLiteral - [65..69)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes4.stree.txt index 5286cf9b2..a848d74c6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes4.stree.txt @@ -1,37 +1,92 @@ -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) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (22:0,22) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [Hello] - [35..40) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[Hello]; - SyntaxKind.HtmlTextLiteral - [ ] - [44..45) - FullWidth: 1 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 51 - (45:0,45) - p - ptaghelper - StartTagAndEndTag -

        ...

        - style - NoQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (54:0,54) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (74:0,74) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [World] - [87..92) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; +RazorDocument - [0..96)::96 - [

        Hello

        World

        ] + MarkupBlock - [0..96)::96 + MarkupTagHelperElement - [0..44)::44 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..35)::35 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class - NoQuotes - Unbound - [ class=foo] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..12)::3 + MarkupLiteralAttributeValue - [9..12)::3 - [foo] + MarkupTextLiteral - [9..12)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTagHelperAttribute - [12..34)::22 - dynamic - DoubleQuotes - Unbound - [ dynamic=@DateTime.Now] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..20)::7 - [dynamic] - Gen - SpanEditHandler;Accepts:Any + Text;[dynamic]; + Equals;[=]; + MarkupTagHelperAttributeValue - [21..34)::13 + MarkupDynamicAttributeValue - [21..34)::13 - [@DateTime.Now] + GenericBlock - [21..34)::13 + CSharpCodeBlock - [21..34)::13 + CSharpImplicitExpression - [21..34)::13 + CSharpTransition - [21..22)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [22..34)::12 + CSharpCodeBlock - [22..34)::12 + CSharpExpressionLiteral - [22..34)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [34..35)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [35..40)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperEndTag - [40..44)::4 + MarkupTextLiteral - [40..44)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [44..45)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [45..96)::51 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [45..87)::42 + MarkupTextLiteral - [45..47)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [47..64)::17 - style - NoQuotes - Unbound - [ style=color:red;] + MarkupTextLiteral - [47..48)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [48..53)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTagHelperAttributeValue - [54..64)::10 + MarkupLiteralAttributeValue - [54..64)::10 - [color:red;] + MarkupTextLiteral - [54..64)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTagHelperAttribute - [64..86)::22 - dynamic - DoubleQuotes - Unbound - [ dynamic=@DateTime.Now] + MarkupTextLiteral - [64..65)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [65..72)::7 - [dynamic] - Gen - SpanEditHandler;Accepts:Any + Text;[dynamic]; + Equals;[=]; + MarkupTagHelperAttributeValue - [73..86)::13 + MarkupDynamicAttributeValue - [73..86)::13 - [@DateTime.Now] + GenericBlock - [73..86)::13 + CSharpCodeBlock - [73..86)::13 + CSharpImplicitExpression - [73..86)::13 + CSharpTransition - [73..74)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [74..86)::12 + CSharpCodeBlock - [74..86)::12 + CSharpExpressionLiteral - [74..86)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [86..87)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [87..92)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [92..96)::4 + MarkupTextLiteral - [92..96)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes5.stree.txt index e7c302f52..bbf17f563 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/TagHelperParseTreeRewriter_RewritesTagHelpersWithQuotelessAttributes5.stree.txt @@ -1,56 +1,93 @@ -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) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (22:0,22) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - style - NoQuotes - Markup span - Gen - [color:red;] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Text;[color:red;]; - SyntaxKind.HtmlTextLiteral - [Hello World ] - [52..64) - FullWidth: 12 - Slots: 1 - SyntaxKind.List - [Hello World ] - [52..64) - FullWidth: 12 - Slots: 4 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [foo] - SpanEditHandler;Accepts:Any - (79:0,79) - Tokens:1 - SyntaxKind.Text;[foo]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (82:0,82) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (83:0,83) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [inside of strong tag] - [84..104) - FullWidth: 20 - Slots: 1 - SyntaxKind.List - [inside of strong tag] - [84..104) - FullWidth: 20 - Slots: 7 - SyntaxKind.Text;[inside]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[of]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[strong]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[tag]; - Tag block - Gen - 9 - (104:0,104) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (104:0,104) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..117)::117 - [

        Hello World inside of strong tag

        ] + MarkupBlock - [0..117)::117 + MarkupTagHelperElement - [0..117)::117 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..52)::52 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class - NoQuotes - Unbound - [ class=foo] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..12)::3 + MarkupLiteralAttributeValue - [9..12)::3 - [foo] + MarkupTextLiteral - [9..12)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTagHelperAttribute - [12..34)::22 - dynamic - DoubleQuotes - Unbound - [ dynamic=@DateTime.Now] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..20)::7 - [dynamic] - Gen - SpanEditHandler;Accepts:Any + Text;[dynamic]; + Equals;[=]; + MarkupTagHelperAttributeValue - [21..34)::13 + MarkupDynamicAttributeValue - [21..34)::13 - [@DateTime.Now] + GenericBlock - [21..34)::13 + CSharpCodeBlock - [21..34)::13 + CSharpImplicitExpression - [21..34)::13 + CSharpTransition - [21..22)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [22..34)::12 + CSharpCodeBlock - [22..34)::12 + CSharpExpressionLiteral - [22..34)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTagHelperAttribute - [34..51)::17 - style - NoQuotes - Unbound - [ style=color:red;] + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [35..40)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTagHelperAttributeValue - [41..51)::10 + MarkupLiteralAttributeValue - [41..51)::10 - [color:red;] + MarkupTextLiteral - [41..51)::10 - [color:red;] - Gen - SpanEditHandler;Accepts:Any + Text;[color:red;]; + MarkupTextLiteral - [51..52)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [52..64)::12 - [Hello World ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + Whitespace;[ ]; + MarkupTagBlock - [64..84)::20 - [] + MarkupTextLiteral - [64..71)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupAttributeBlock - [71..83)::12 - [ class="foo"] + MarkupTextLiteral - [71..72)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [72..77)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [78..79)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [79..82)::3 + MarkupLiteralAttributeValue - [79..82)::3 - [foo] + MarkupTextLiteral - [79..82)::3 - [foo] - Gen - SpanEditHandler;Accepts:Any + Text;[foo]; + MarkupTextLiteral - [82..83)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [83..84)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [84..104)::20 - [inside of strong tag] - Gen - SpanEditHandler;Accepts:Any + Text;[inside]; + Whitespace;[ ]; + Text;[of]; + Whitespace;[ ]; + Text;[strong]; + Whitespace;[ ]; + Text;[tag]; + MarkupTagBlock - [104..113)::9 - [] + MarkupTextLiteral - [104..113)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [113..117)::4 + MarkupTextLiteral - [113..117)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers1.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers1.cspans.txt index e69de29bb..92e6c778c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers1.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers1.cspans.txt @@ -0,0 +1 @@ +Markup span at (10:0,10 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [16] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers1.stree.txt index a855effb2..a1f4e346c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers1.stree.txt @@ -1,5 +1,27 @@ -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) +RazorDocument - [0..16)::16 - [

        ] + MarkupBlock - [0..16)::16 + MarkupTagHelperElement - [0..16)::16 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..12)::12 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..11)::9 - class - DoubleQuotes - Unbound - [ class=""] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..10)::0 + MarkupTextLiteral - [10..10)::0 - [] + MarkupTextLiteral - [10..11)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [11..12)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [12..16)::4 + MarkupTextLiteral - [12..16)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers2.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers2.cspans.txt index e69de29bb..92e6c778c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers2.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers2.cspans.txt @@ -0,0 +1 @@ +Markup span at (10:0,10 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [16] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers2.stree.txt index bb2bf1ba6..1fb1c603d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers2.stree.txt @@ -1,5 +1,27 @@ -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) +RazorDocument - [0..16)::16 - [

        ] + MarkupBlock - [0..16)::16 + MarkupTagHelperElement - [0..16)::16 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..12)::12 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..11)::9 - class - SingleQuotes - Unbound - [ class=''] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [10..10)::0 + MarkupTextLiteral - [10..10)::0 - [] + MarkupTextLiteral - [10..11)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [11..12)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [12..16)::4 + MarkupTextLiteral - [12..16)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers3.stree.txt index a81595cb3..e64fe1634 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers3.stree.txt @@ -1,5 +1,23 @@ -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) - Tokens:0 +RazorDocument - [0..14)::14 - [

        ] + MarkupBlock - [0..14)::14 + MarkupTagHelperElement - [0..14)::14 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..10)::10 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..9)::7 - class - DoubleQuotes - Unbound - [ class=] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTagHelperAttributeValue - [9..9)::0 + MarkupTextLiteral - [9..9)::0 - [] + MarkupTextLiteral - [9..10)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [10..14)::4 + MarkupTextLiteral - [10..14)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers4.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers4.cspans.txt index 9d88d89f4..eeee563c5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers4.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers4.cspans.txt @@ -1 +1,3 @@ +Markup span at (11:0,11 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [33] ) Markup span at (20:0,20 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [33] ) +Markup span at (29:0,29 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [33] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers4.stree.txt index 744c39ad6..6916bd352 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers4.stree.txt @@ -1,9 +1,43 @@ -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) - Tokens:0 - class3 - DoubleQuotes - Markup block - Gen - 0 - (0:0,0) +RazorDocument - [0..33)::33 - [

        ] + MarkupBlock - [0..33)::33 + MarkupTagHelperElement - [0..33)::33 - p[SelfClosing] - ptaghelper + MarkupTagHelperStartTag - [0..33)::33 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class1 - SingleQuotes - Unbound - [ class1=''] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..9)::6 - [class1] - Gen - SpanEditHandler;Accepts:Any + Text;[class1]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [11..11)::0 + MarkupTextLiteral - [11..11)::0 - [] + MarkupTextLiteral - [11..12)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttribute - [12..20)::8 - class2 - DoubleQuotes - Unbound - [ class2=] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..19)::6 - [class2] - Gen - SpanEditHandler;Accepts:Any + Text;[class2]; + Equals;[=]; + MarkupTagHelperAttributeValue - [20..20)::0 + MarkupTextLiteral - [20..20)::0 - [] + MarkupTagHelperAttribute - [20..30)::10 - class3 - DoubleQuotes - Unbound - [ class3=""] + MarkupTextLiteral - [20..21)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [21..27)::6 - [class3] - Gen - SpanEditHandler;Accepts:Any + Text;[class3]; + Equals;[=]; + MarkupTextLiteral - [28..29)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [29..29)::0 + MarkupTextLiteral - [29..29)::0 - [] + MarkupTextLiteral - [29..30)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [30..33)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers5.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers5.cspans.txt index 8bfb20083..7b54ebc00 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers5.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers5.cspans.txt @@ -1 +1,3 @@ +Markup span at (11:0,11 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [31] ) +Markup span at (20:0,20 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [31] ) Markup span at (28:0,28 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [31] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers5.stree.txt index 728b1f691..5f595ff66 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsEmptyAttributeTagHelpers5.stree.txt @@ -1,9 +1,39 @@ -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) - Tokens:0 +RazorDocument - [0..31)::31 - [

        ] + MarkupBlock - [0..31)::31 + MarkupTagHelperElement - [0..31)::31 - p[SelfClosing] - ptaghelper + MarkupTagHelperStartTag - [0..31)::31 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..12)::10 - class1 - SingleQuotes - Unbound - [ class1=''] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..9)::6 - [class1] - Gen - SpanEditHandler;Accepts:Any + Text;[class1]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [11..11)::0 + MarkupTextLiteral - [11..11)::0 - [] + MarkupTextLiteral - [11..12)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttribute - [12..21)::9 - class2 - DoubleQuotes - Unbound - [class2=""] + MarkupTextLiteral - [12..18)::6 - [class2] - Gen - SpanEditHandler;Accepts:Any + Text;[class2]; + Equals;[=]; + MarkupTextLiteral - [19..20)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [20..20)::0 + MarkupTextLiteral - [20..20)::0 - [] + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [21..28)::7 - class3 - DoubleQuotes - Unbound - [class3=] + MarkupTextLiteral - [21..27)::6 - [class3] - Gen - SpanEditHandler;Accepts:Any + Text;[class3]; + Equals;[=]; + MarkupTagHelperAttributeValue - [28..28)::0 + MarkupTextLiteral - [28..28)::0 - [] + MarkupTextLiteral - [28..31)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block1.stree.txt index a813cc962..241cad181 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block1.stree.txt @@ -1,18 +1,33 @@ -Markup block - Gen - 29 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 29 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (28:0,28) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..29)::29 - [@{}] + MarkupBlock - [0..29)::29 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..29)::29 + CSharpStatement - [0..29)::29 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..29)::28 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..28)::26 + MarkupBlock - [2..28)::26 + MarkupTagHelperElement - [2..28)::26 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [2..28)::26 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..25)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..25)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupTextLiteral - [25..28)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [28..28)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [28..29)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [29..29)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block10.stree.txt index 18c001c11..2064d7406 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block10.stree.txt @@ -1,18 +1,32 @@ -Markup block - Gen - 28 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 28 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (28:0,28) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..28)::28 - [@{}] + MarkupBlock - [0..28)::28 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..28)::28 + CSharpStatement - [0..28)::28 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..28)::27 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..27)::25 + MarkupBlock - [2..27)::25 + MarkupTagHelperElement - [2..27)::25 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..27)::25 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..25)::17 - int-prefix-value - Minimized - Bound - [ int-prefix-value] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..25)::16 - [int-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[int-prefix-value]; + MarkupTextLiteral - [25..27)::2 - [/>] - Gen - SpanEditHandler;Accepts:None + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [27..27)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [27..28)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [28..28)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block11.stree.txt index 3fbac254e..a8e8450ee 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block11.stree.txt @@ -1,18 +1,33 @@ -Markup block - Gen - 32 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 32 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..32)::32 - [@{}] + MarkupBlock - [0..32)::32 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..32)::32 + CSharpStatement - [0..32)::32 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..32)::31 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..31)::29 + MarkupBlock - [2..31)::29 + MarkupTagHelperElement - [2..31)::29 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..31)::29 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..28)::20 - string-prefix-value - Minimized - Bound - [ string-prefix-value] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..28)::19 - [string-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[string-prefix-value]; + MarkupTextLiteral - [28..31)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [31..31)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [32..32)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block12.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block12.cspans.txt index a9bbc9d9b..37fd3df81 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block12.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block12.cspans.txt @@ -1,6 +1,7 @@ Markup span at (0:0,0 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [32] ) Transition span at (0:0,0 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [32] ) MetaCode span at (1:0,1 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [32] ) +Code span at (27:0,27 [0] ) (Accepts:AnyExceptNewline) - Parent: Tag block at (2:0,2 [29] ) Code span at (31:0,31 [0] ) (Accepts:Any) - Parent: Statement block at (0:0,0 [32] ) MetaCode span at (31:0,31 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [32] ) Markup span at (32:0,32 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [32] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block12.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block12.stree.txt index 11f738be5..9b025d209 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block12.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block12.stree.txt @@ -1,19 +1,40 @@ -Markup block - Gen - 32 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 32 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..32)::32 - [@{}] + MarkupBlock - [0..32)::32 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..32)::32 + CSharpStatement - [0..32)::32 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..32)::31 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..31)::29 + MarkupBlock - [2..31)::29 + MarkupTagHelperElement - [2..31)::29 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..31)::29 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..28)::20 - int-prefix-value - SingleQuotes - Bound - [ int-prefix-value=''] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..25)::16 - [int-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[int-prefix-value]; + Equals;[=]; + MarkupTextLiteral - [26..27)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [27..27)::0 + CSharpExpressionLiteral - [27..27)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTextLiteral - [27..28)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [28..31)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [31..31)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [32..32)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block13.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block13.cspans.txt index 1b7db58cc..dfa5d6b25 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block13.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block13.cspans.txt @@ -1,6 +1,7 @@ Markup span at (0:0,0 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [34] ) Transition span at (0:0,0 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [34] ) MetaCode span at (1:0,1 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [34] ) +Markup span at (30:0,30 [0] ) (Accepts:Any) - Parent: Tag block at (2:0,2 [31] ) Code span at (33:0,33 [0] ) (Accepts:Any) - Parent: Statement block at (0:0,0 [34] ) MetaCode span at (33:0,33 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [34] ) Markup span at (34:0,34 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [34] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block13.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block13.stree.txt index a0dba460f..a945b9f6f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block13.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block13.stree.txt @@ -1,19 +1,39 @@ -Markup block - Gen - 34 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 34 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..34)::34 - [@{}] + MarkupBlock - [0..34)::34 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..34)::34 + CSharpStatement - [0..34)::34 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..34)::33 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..33)::31 + MarkupBlock - [2..33)::31 + MarkupTagHelperElement - [2..33)::31 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..33)::31 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..31)::23 - string-prefix-value - SingleQuotes - Bound - [ string-prefix-value=''] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..28)::19 - [string-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[string-prefix-value]; + Equals;[=]; + MarkupTextLiteral - [29..30)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [30..30)::0 + MarkupTextLiteral - [30..30)::0 - [] + MarkupTextLiteral - [30..31)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [31..33)::2 - [/>] - Gen - SpanEditHandler;Accepts:None + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [33..34)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [34..34)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block14.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block14.stree.txt index 1e353afde..1eb4764b8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block14.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block14.stree.txt @@ -1,20 +1,40 @@ -Markup block - Gen - 32 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 32 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[3]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..32)::32 - [@{}] + MarkupBlock - [0..32)::32 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..32)::32 + CSharpStatement - [0..32)::32 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..32)::31 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..31)::29 + MarkupBlock - [2..31)::29 + MarkupTagHelperElement - [2..31)::29 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..31)::29 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..29)::21 - int-prefix-value - SingleQuotes - Bound - [ int-prefix-value='3'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..25)::16 - [int-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[int-prefix-value]; + Equals;[=]; + MarkupTextLiteral - [26..27)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [27..28)::1 + CSharpExpressionLiteral - [27..28)::1 - [3] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[3]; + MarkupTextLiteral - [28..29)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [29..31)::2 - [/>] - Gen - SpanEditHandler;Accepts:None + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [31..31)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [32..32)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block15.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block15.stree.txt index d1cb45f6a..8de364953 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block15.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block15.stree.txt @@ -1,24 +1,44 @@ -Markup block - Gen - 46 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 46 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[some]; - Markup span - Gen - [ string] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[string]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..46)::46 - [@{}] + MarkupBlock - [0..46)::46 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..46)::46 + CSharpStatement - [0..46)::46 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..46)::45 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..45)::43 + MarkupBlock - [2..45)::43 + MarkupTagHelperElement - [2..45)::43 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..45)::43 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..42)::34 - string-prefix-value - SingleQuotes - Bound - [ string-prefix-value='some string'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..28)::19 - [string-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[string-prefix-value]; + Equals;[=]; + MarkupTextLiteral - [29..30)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [30..41)::11 + MarkupTextLiteral - [30..34)::4 - [some] - Gen - SpanEditHandler;Accepts:Any + Text;[some]; + MarkupTextLiteral - [34..41)::7 - [ string] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[string]; + MarkupTextLiteral - [41..42)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [42..45)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [45..45)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [45..46)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [46..46)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block16.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block16.stree.txt index 09a24d3c8..26724100c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block16.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block16.stree.txt @@ -1,19 +1,38 @@ -Markup block - Gen - 51 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 51 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (50:0,50) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (51:0,51) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..51)::51 - [@{}] + MarkupBlock - [0..51)::51 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..51)::51 + CSharpStatement - [0..51)::51 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..51)::50 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..50)::48 + MarkupBlock - [2..50)::48 + MarkupTagHelperElement - [2..50)::48 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [2..50)::48 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..25)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..25)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupMinimizedTagHelperAttribute - [25..47)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..47)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTextLiteral - [47..50)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [50..50)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [50..51)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [51..51)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block17.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block17.stree.txt index d860f3e79..de83c6e0a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block17.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block17.stree.txt @@ -1,19 +1,42 @@ -Markup block - Gen - 33 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 33 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (32:0,32) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..33)::33 - [@{

        }] + MarkupBlock - [0..33)::33 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..33)::33 + CSharpStatement - [0..33)::33 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..33)::32 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..32)::30 + MarkupBlock - [2..32)::30 + MarkupTagHelperElement - [2..32)::30 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..28)::26 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [4..14)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..14)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupMinimizedTagHelperAttribute - [14..27)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..27)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [27..28)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [28..32)::4 + MarkupTextLiteral - [28..32)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [32..32)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [32..33)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block18.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block18.stree.txt index 5e6d00a73..b3e5ccb59 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block18.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block18.stree.txt @@ -1,20 +1,43 @@ -Markup block - Gen - 70 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 70 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (69:0,69) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (70:0,70) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..70)::70 - [@{}] + MarkupBlock - [0..70)::70 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..70)::70 + CSharpStatement - [0..70)::70 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..70)::69 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..69)::67 + MarkupBlock - [2..69)::67 + MarkupTagHelperElement - [2..69)::67 - input[SelfClosing] - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [2..69)::67 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..27)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..27)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupMinimizedTagHelperAttribute - [27..44)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [27..28)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [28..44)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupMinimizedTagHelperAttribute - [44..66)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [44..45)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [45..66)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTextLiteral - [66..69)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [69..69)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [69..70)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [70..70)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block19.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block19.stree.txt index e40e8d2f9..74923d4fb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block19.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block19.stree.txt @@ -1,20 +1,47 @@ -Markup block - Gen - 46 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 46 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..46)::46 - [@{

        }] + MarkupBlock - [0..46)::46 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..46)::46 + CSharpStatement - [0..46)::46 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..46)::45 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..45)::43 + MarkupBlock - [2..45)::43 + MarkupTagHelperElement - [2..45)::43 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..41)::39 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [4..14)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..14)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupMinimizedTagHelperAttribute - [14..27)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..27)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupMinimizedTagHelperAttribute - [27..40)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [27..28)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [28..40)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [40..41)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [41..45)::4 + MarkupTextLiteral - [41..45)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [45..45)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [45..46)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [46..46)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block2.stree.txt index a2fa47126..b26006844 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block2.stree.txt @@ -1,18 +1,37 @@ -Markup block - Gen - 23 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 23 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..23)::23 - [@{

        }] + MarkupBlock - [0..23)::23 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..23)::23 + CSharpStatement - [0..23)::23 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..23)::22 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..22)::20 + MarkupBlock - [2..22)::20 + MarkupTagHelperElement - [2..22)::20 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..18)::16 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [4..17)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..17)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [17..18)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [18..22)::4 + MarkupTextLiteral - [18..22)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [22..22)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [22..23)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [23..23)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block20.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block20.stree.txt index 54ecd3345..cf15a91cb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block20.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block20.stree.txt @@ -1,21 +1,47 @@ -Markup block - Gen - 41 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 41 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (40:0,40) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..41)::41 - [@{}] + MarkupBlock - [0..41)::41 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..41)::41 + CSharpStatement - [0..41)::41 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..41)::40 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..40)::38 + MarkupBlock - [2..40)::38 + MarkupTagHelperElement - [2..40)::38 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [2..40)::38 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..25)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..25)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupTagHelperAttribute - [25..37)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..31)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [32..33)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [33..36)::3 + MarkupLiteralAttributeValue - [33..36)::3 - [btn] + MarkupTextLiteral - [33..36)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [36..37)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [37..40)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [40..40)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [40..41)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [41..41)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block21.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block21.stree.txt index 5bfdedbbf..f437ef042 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block21.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block21.stree.txt @@ -1,21 +1,51 @@ -Markup block - Gen - 35 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 35 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (34:0,34) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..35)::35 - [@{

        }] + MarkupBlock - [0..35)::35 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..35)::35 + CSharpStatement - [0..35)::35 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..35)::34 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..34)::32 + MarkupBlock - [2..34)::32 + MarkupTagHelperElement - [2..34)::32 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..30)::28 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [4..17)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..17)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTagHelperAttribute - [17..29)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [17..18)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [18..23)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [24..25)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [25..28)::3 + MarkupLiteralAttributeValue - [25..28)::3 - [btn] + MarkupTextLiteral - [25..28)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [28..29)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [29..30)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [30..34)::4 + MarkupTextLiteral - [30..34)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [34..34)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [34..35)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [35..35)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block22.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block22.stree.txt index 5ff02d74d..9725f0e4c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block22.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block22.stree.txt @@ -1,21 +1,47 @@ -Markup block - Gen - 41 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 41 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - unbound-required - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (40:0,40) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..41)::41 - [@{}] + MarkupBlock - [0..41)::41 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..41)::41 + CSharpStatement - [0..41)::41 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..41)::40 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..40)::38 + MarkupBlock - [2..40)::38 + MarkupTagHelperElement - [2..40)::38 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [2..40)::38 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..20)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [20..37)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [20..21)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [21..37)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupTextLiteral - [37..40)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [40..40)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [40..41)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [41..41)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block23.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block23.stree.txt index 6229690f3..911f4fc09 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block23.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block23.stree.txt @@ -1,21 +1,51 @@ -Markup block - Gen - 35 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 35 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - bound-string - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (34:0,34) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..35)::35 - [@{

        }] + MarkupBlock - [0..35)::35 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..35)::35 + CSharpStatement - [0..35)::35 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..35)::34 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..34)::32 + MarkupBlock - [2..34)::32 + MarkupTagHelperElement - [2..34)::32 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..30)::28 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [4..16)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [12..15)::3 + MarkupLiteralAttributeValue - [12..15)::3 - [btn] + MarkupTextLiteral - [12..15)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [15..16)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [16..29)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..29)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [29..30)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [30..34)::4 + MarkupTextLiteral - [30..34)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [34..34)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [34..35)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [35..35)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block24.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block24.stree.txt index 9eaa5c617..cf1050092 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block24.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block24.stree.txt @@ -1,21 +1,47 @@ -Markup block - Gen - 46 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 46 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..46)::46 - [@{}] + MarkupBlock - [0..46)::46 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..46)::46 + CSharpStatement - [0..46)::46 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..46)::45 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..45)::43 + MarkupBlock - [2..45)::43 + MarkupTagHelperElement - [2..45)::43 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [2..45)::43 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..30)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..30)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTagHelperAttribute - [30..42)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [30..31)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [31..36)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [37..38)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [38..41)::3 + MarkupLiteralAttributeValue - [38..41)::3 - [btn] + MarkupTextLiteral - [38..41)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [41..42)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [42..45)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [45..45)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [45..46)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [46..46)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block25.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block25.stree.txt index aa51eb372..b9e07e170 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block25.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block25.stree.txt @@ -1,21 +1,47 @@ -Markup block - Gen - 46 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 46 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - bound-required-string - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..46)::46 - [@{}] + MarkupBlock - [0..46)::46 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..46)::46 + CSharpStatement - [0..46)::46 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..46)::45 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..45)::43 + MarkupBlock - [2..45)::43 + MarkupTagHelperElement - [2..45)::43 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [2..45)::43 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..20)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [20..42)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [20..21)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [21..42)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTextLiteral - [42..45)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [45..45)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [45..46)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [46..46)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block26.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block26.stree.txt index c61cca4ac..90aa657d7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block26.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block26.stree.txt @@ -1,21 +1,47 @@ -Markup block - Gen - 43 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 43 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (42:0,42) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..43)::43 - [@{}] + MarkupBlock - [0..43)::43 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..43)::43 + CSharpStatement - [0..43)::43 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..43)::42 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..42)::40 + MarkupBlock - [2..42)::40 + MarkupTagHelperElement - [2..42)::40 - input[SelfClosing] - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [2..42)::40 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..27)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..27)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTagHelperAttribute - [27..39)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [27..28)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [28..33)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [34..35)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [35..38)::3 + MarkupLiteralAttributeValue - [35..38)::3 - [btn] + MarkupTextLiteral - [35..38)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [38..39)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [39..42)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [42..42)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [42..43)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [43..43)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block27.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block27.stree.txt index 728b38445..3fe735e34 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block27.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block27.stree.txt @@ -1,21 +1,51 @@ -Markup block - Gen - 32 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 32 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..32)::32 - [@{

        }] + MarkupBlock - [0..32)::32 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..32)::32 + CSharpStatement - [0..32)::32 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..32)::31 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..31)::29 + MarkupBlock - [2..31)::29 + MarkupTagHelperElement - [2..31)::29 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..27)::25 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [4..14)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..14)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTagHelperAttribute - [14..26)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..20)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [21..22)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [22..25)::3 + MarkupLiteralAttributeValue - [22..25)::3 - [btn] + MarkupTextLiteral - [22..25)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [25..26)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [26..27)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [27..31)::4 + MarkupTextLiteral - [27..31)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [31..31)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [32..32)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block28.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block28.stree.txt index 0fa49e818..666f88ea0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block28.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block28.stree.txt @@ -1,21 +1,47 @@ -Markup block - Gen - 43 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 43 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - bound-required-int - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (42:0,42) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..43)::43 - [@{}] + MarkupBlock - [0..43)::43 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..43)::43 + CSharpStatement - [0..43)::43 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..43)::42 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..42)::40 + MarkupBlock - [2..42)::40 + MarkupTagHelperElement - [2..42)::40 - input[SelfClosing] - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [2..42)::40 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..20)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [20..39)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [20..21)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [21..39)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTextLiteral - [39..42)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [42..42)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [42..43)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [43..43)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block29.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block29.stree.txt index 7a41ff450..d32d0789f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block29.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block29.stree.txt @@ -1,21 +1,51 @@ -Markup block - Gen - 32 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 32 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Text;[btn]; - bound-int - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..32)::32 - [@{

        }] + MarkupBlock - [0..32)::32 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..32)::32 + CSharpStatement - [0..32)::32 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..32)::31 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..31)::29 + MarkupBlock - [2..31)::29 + MarkupTagHelperElement - [2..31)::29 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..27)::25 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [4..16)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [12..15)::3 + MarkupLiteralAttributeValue - [12..15)::3 - [btn] + MarkupTextLiteral - [12..15)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [15..16)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [16..26)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..26)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTextLiteral - [26..27)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [27..31)::4 + MarkupTextLiteral - [27..31)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [31..31)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [31..32)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [32..32)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block3.stree.txt index c7eb6d6cb..21d1fe017 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block3.stree.txt @@ -1,18 +1,33 @@ -Markup block - Gen - 34 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 34 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..34)::34 - [@{}] + MarkupBlock - [0..34)::34 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..34)::34 + CSharpStatement - [0..34)::34 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..34)::33 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..33)::31 + MarkupBlock - [2..33)::31 + MarkupTagHelperElement - [2..33)::31 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [2..33)::31 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..30)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..30)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTextLiteral - [30..33)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [33..34)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [34..34)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block30.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block30.stree.txt index 199aecdb5..32c3b9f29 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block30.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block30.stree.txt @@ -1,34 +1,66 @@ -Markup block - Gen - 57 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 57 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (17:0,17) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[1]; - bound-required-int - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (56:0,56) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (56:0,56) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (57:0,57) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..57)::57 - [@{}] + MarkupBlock - [0..57)::57 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..57)::57 + CSharpStatement - [0..57)::57 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..57)::56 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..56)::54 + MarkupBlock - [2..56)::54 + MarkupTagHelperElement - [2..56)::54 - input[SelfClosing] - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [2..56)::54 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [8..34)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [16..33)::17 + MarkupDynamicAttributeValue - [16..29)::13 - [@DateTime.Now] + GenericBlock - [16..29)::13 + CSharpCodeBlock - [16..29)::13 + CSharpImplicitExpression - [16..29)::13 + CSharpTransition - [16..17)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [17..29)::12 + CSharpCodeBlock - [17..29)::12 + CSharpExpressionLiteral - [17..29)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [29..31)::2 - [ +] + MarkupTextLiteral - [29..30)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [30..31)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [31..33)::2 - [ 1] + MarkupTextLiteral - [31..32)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [32..33)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [33..34)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [34..53)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [35..53)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTextLiteral - [53..56)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [56..56)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [56..57)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [57..57)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block31.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block31.stree.txt index 64c741e1e..dd5804b07 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block31.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block31.stree.txt @@ -1,34 +1,70 @@ -Markup block - Gen - 46 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 46 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (13:0,13) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[1]; - bound-int - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (45:0,45) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..46)::46 - [@{

        }] + MarkupBlock - [0..46)::46 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..46)::46 + CSharpStatement - [0..46)::46 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..46)::45 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..45)::43 + MarkupBlock - [2..45)::43 + MarkupTagHelperElement - [2..45)::43 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..41)::39 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [4..30)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [12..29)::17 + MarkupDynamicAttributeValue - [12..25)::13 - [@DateTime.Now] + GenericBlock - [12..25)::13 + CSharpCodeBlock - [12..25)::13 + CSharpImplicitExpression - [12..25)::13 + CSharpTransition - [12..13)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [13..25)::12 + CSharpCodeBlock - [13..25)::12 + CSharpExpressionLiteral - [13..25)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [25..27)::2 - [ +] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..27)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [27..29)::2 - [ 1] + MarkupTextLiteral - [27..28)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [28..29)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [29..30)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [30..40)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [30..31)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [31..40)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTextLiteral - [40..41)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [41..45)::4 + MarkupTextLiteral - [41..45)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [45..45)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [45..46)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [46..46)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block32.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block32.stree.txt index 07091a45f..c36d7d279 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block32.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block32.stree.txt @@ -1,52 +1,109 @@ -Markup block - Gen - 129 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 129 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (39:0,39) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (51:0,51) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (53:0,53) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (89:0,89) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (101:0,101) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (103:0,103) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[1]; - unbound-required - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (128:0,128) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (128:0,128) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (129:0,129) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..129)::129 - [@{}] + MarkupBlock - [0..129)::129 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..129)::129 + CSharpStatement - [0..129)::129 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..129)::128 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..128)::126 + MarkupBlock - [2..128)::126 + MarkupTagHelperElement - [2..128)::126 - input[SelfClosing] - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [2..128)::126 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..30)::22 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [8..12)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [12..30)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTagHelperAttribute - [30..56)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [30..31)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [31..36)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [37..38)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [38..55)::17 + MarkupDynamicAttributeValue - [38..51)::13 - [@DateTime.Now] + GenericBlock - [38..51)::13 + CSharpCodeBlock - [38..51)::13 + CSharpImplicitExpression - [38..51)::13 + CSharpTransition - [38..39)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [39..51)::12 + CSharpCodeBlock - [39..51)::12 + CSharpExpressionLiteral - [39..51)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [51..53)::2 - [ +] + MarkupTextLiteral - [51..52)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [52..53)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [53..55)::2 - [ 1] + MarkupTextLiteral - [53..54)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [54..55)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [55..56)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [56..80)::24 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [56..59)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [59..80)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTagHelperAttribute - [80..106)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [80..81)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [81..86)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [87..88)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [88..105)::17 + MarkupDynamicAttributeValue - [88..101)::13 - [@DateTime.Now] + GenericBlock - [88..101)::13 + CSharpCodeBlock - [88..101)::13 + CSharpImplicitExpression - [88..101)::13 + CSharpTransition - [88..89)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [89..101)::12 + CSharpCodeBlock - [89..101)::12 + CSharpExpressionLiteral - [89..101)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [101..103)::2 - [ +] + MarkupTextLiteral - [101..102)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [102..103)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [103..105)::2 - [ 1] + MarkupTextLiteral - [103..104)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [104..105)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [105..106)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [106..124)::18 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [106..108)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [108..124)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupTextLiteral - [124..128)::4 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [128..128)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [128..129)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [129..129)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block33.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block33.stree.txt index 1c2fac1f4..68a4e77a4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block33.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block33.stree.txt @@ -1,52 +1,113 @@ -Markup block - Gen - 104 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 104 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (26:0,26) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (38:0,38) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (40:0,40) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (67:0,67) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (79:0,79) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (81:0,81) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[1]; - bound-string - Minimized - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (103:0,103) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (103:0,103) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (104:0,104) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..104)::104 - [@{

        }] + MarkupBlock - [0..104)::104 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..104)::104 + CSharpStatement - [0..104)::104 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..104)::103 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..103)::101 + MarkupBlock - [2..103)::101 + MarkupTagHelperElement - [2..103)::101 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..99)::97 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [4..17)::13 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [4..8)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..17)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTagHelperAttribute - [17..43)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [17..18)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [18..23)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [24..25)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [25..42)::17 + MarkupDynamicAttributeValue - [25..38)::13 - [@DateTime.Now] + GenericBlock - [25..38)::13 + CSharpCodeBlock - [25..38)::13 + CSharpImplicitExpression - [25..38)::13 + CSharpTransition - [25..26)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [26..38)::12 + CSharpCodeBlock - [26..38)::12 + CSharpExpressionLiteral - [26..38)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [38..40)::2 - [ +] + MarkupTextLiteral - [38..39)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [39..40)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [40..42)::2 - [ 1] + MarkupTextLiteral - [40..41)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [41..42)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [42..43)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [43..58)::15 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [43..46)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [46..58)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTagHelperAttribute - [58..84)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [58..59)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [59..64)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [65..66)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [66..83)::17 + MarkupDynamicAttributeValue - [66..79)::13 - [@DateTime.Now] + GenericBlock - [66..79)::13 + CSharpCodeBlock - [66..79)::13 + CSharpImplicitExpression - [66..79)::13 + CSharpTransition - [66..67)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [67..79)::12 + CSharpCodeBlock - [67..79)::12 + CSharpExpressionLiteral - [67..79)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [79..81)::2 - [ +] + MarkupTextLiteral - [79..80)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [80..81)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [81..83)::2 - [ 1] + MarkupTextLiteral - [81..82)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [82..83)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [83..84)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [84..98)::14 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [84..86)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [86..98)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [98..99)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [99..103)::4 + MarkupTextLiteral - [99..103)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [103..103)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [103..104)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [104..104)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block4.stree.txt index 1a9d7da7d..15574d231 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block4.stree.txt @@ -1,18 +1,33 @@ -Markup block - Gen - 31 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 31 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..31)::31 - [@{}] + MarkupBlock - [0..31)::31 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..31)::31 + CSharpStatement - [0..31)::31 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..31)::30 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..30)::28 + MarkupBlock - [2..30)::28 + MarkupTagHelperElement - [2..30)::28 - input[SelfClosing] - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [2..30)::28 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..27)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..27)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTextLiteral - [27..30)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [30..30)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [30..31)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [31..31)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block5.stree.txt index 59d1be130..8547da82f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block5.stree.txt @@ -1,18 +1,37 @@ -Markup block - Gen - 20 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 20 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (19:0,19) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..20)::20 - [@{

        }] + MarkupBlock - [0..20)::20 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..20)::20 + CSharpStatement - [0..20)::20 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..20)::19 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..19)::17 + MarkupBlock - [2..19)::17 + MarkupTagHelperElement - [2..19)::17 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [2..15)::13 + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [4..14)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..14)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagHelperEndTag - [15..19)::4 + MarkupTextLiteral - [15..19)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [19..19)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [19..20)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [20..20)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block6.stree.txt index f879e42b4..7d1690d89 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block6.stree.txt @@ -1,18 +1,32 @@ -Markup block - Gen - 26 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 26 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..26)::26 - [@{}] + MarkupBlock - [0..26)::26 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..26)::26 + CSharpStatement - [0..26)::26 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..26)::25 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..25)::23 + MarkupBlock - [2..25)::23 + MarkupTagHelperElement - [2..25)::23 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..25)::23 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..23)::15 - int-dictionary - Minimized - Bound - [ int-dictionary] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..23)::14 - [int-dictionary] - Gen - SpanEditHandler;Accepts:Any + Text;[int-dictionary]; + MarkupTextLiteral - [23..25)::2 - [/>] - Gen - SpanEditHandler;Accepts:None + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [25..25)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [25..26)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [26..26)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block7.stree.txt index c1ea18d20..2f52d89c2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block7.stree.txt @@ -1,18 +1,33 @@ -Markup block - Gen - 30 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 30 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (29:0,29) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..30)::30 - [@{}] + MarkupBlock - [0..30)::30 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..30)::30 + CSharpStatement - [0..30)::30 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..30)::29 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..29)::27 + MarkupBlock - [2..29)::27 + MarkupTagHelperElement - [2..29)::27 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..29)::27 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..26)::18 - string-dictionary - Minimized - Bound - [ string-dictionary] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..26)::17 - [string-dictionary] - Gen - SpanEditHandler;Accepts:Any + Text;[string-dictionary]; + MarkupTextLiteral - [26..29)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [29..29)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [29..30)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [30..30)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block8.stree.txt index 84b73ec0f..aa96354de 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block8.stree.txt @@ -1,18 +1,33 @@ -Markup block - Gen - 24 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 24 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..24)::24 - [@{}] + MarkupBlock - [0..24)::24 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..24)::24 + CSharpStatement - [0..24)::24 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..24)::23 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..23)::21 + MarkupBlock - [2..23)::21 + MarkupTagHelperElement - [2..23)::21 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..23)::21 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..20)::12 - int-prefix- - Minimized - Bound - [ int-prefix-] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..20)::11 - [int-prefix-] - Gen - SpanEditHandler;Accepts:Any + Text;[int-prefix-]; + MarkupTextLiteral - [20..23)::3 - [ />] - Gen - SpanEditHandler;Accepts:None + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [23..23)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [23..24)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [24..24)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block9.stree.txt index 5bee7d7fa..a66614b0f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Block9.stree.txt @@ -1,18 +1,32 @@ -Markup block - Gen - 26 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 26 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..26)::26 - [@{}] + MarkupBlock - [0..26)::26 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..26)::26 + CSharpStatement - [0..26)::26 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..26)::25 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..25)::23 + MarkupBlock - [2..25)::23 + MarkupTagHelperElement - [2..25)::23 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [2..25)::23 + MarkupTextLiteral - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [8..23)::15 - string-prefix- - Minimized - Bound - [ string-prefix-] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..23)::14 - [string-prefix-] - Gen - SpanEditHandler;Accepts:Any + Text;[string-prefix-]; + MarkupTextLiteral - [23..25)::2 - [/>] - Gen - SpanEditHandler;Accepts:None + ForwardSlash;[/]; + CloseAngle;[>]; + CSharpStatementLiteral - [25..25)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [25..26)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [26..26)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document1.stree.txt index 8a35bfa8f..0c464f724 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document1.stree.txt @@ -1,4 +1,16 @@ -Markup block - Gen - 26 - (0:0,0) - Tag block - Gen - 26 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 - SelfClosing - - unbound-required - Minimized +RazorDocument - [0..26)::26 - [] + MarkupBlock - [0..26)::26 + MarkupTagHelperElement - [0..26)::26 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [0..26)::26 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..23)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..23)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupTextLiteral - [23..26)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document10.stree.txt index 8c636ecf0..eb325261e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document10.stree.txt @@ -1,4 +1,15 @@ -Markup block - Gen - 25 - (0:0,0) - Tag block - Gen - 25 - (0:0,0) - input - InputTagHelper3 - SelfClosing - - int-prefix-value - Minimized +RazorDocument - [0..25)::25 - [] + MarkupBlock - [0..25)::25 + MarkupTagHelperElement - [0..25)::25 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..23)::17 - int-prefix-value - Minimized - Bound - [ int-prefix-value] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..23)::16 - [int-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[int-prefix-value]; + MarkupTextLiteral - [23..25)::2 - [/>] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document11.stree.txt index f8f403ef1..74209e504 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document11.stree.txt @@ -1,4 +1,16 @@ -Markup block - Gen - 29 - (0:0,0) - Tag block - Gen - 29 - (0:0,0) - input - InputTagHelper3 - SelfClosing - - string-prefix-value - Minimized +RazorDocument - [0..29)::29 - [] + MarkupBlock - [0..29)::29 + MarkupTagHelperElement - [0..29)::29 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..29)::29 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..26)::20 - string-prefix-value - Minimized - Bound - [ string-prefix-value] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..26)::19 - [string-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[string-prefix-value]; + MarkupTextLiteral - [26..29)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document12.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document12.cspans.txt index e69de29bb..fd32ae834 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document12.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document12.cspans.txt @@ -0,0 +1 @@ +Code span at (25:0,25 [0] ) (Accepts:AnyExceptNewline) - Parent: Tag block at (0:0,0 [29] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document12.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document12.stree.txt index e5a9fb8e2..61cafbb65 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document12.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document12.stree.txt @@ -1,5 +1,23 @@ -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) +RazorDocument - [0..29)::29 - [] + MarkupBlock - [0..29)::29 + MarkupTagHelperElement - [0..29)::29 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..29)::29 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..26)::20 - int-prefix-value - SingleQuotes - Bound - [ int-prefix-value=''] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..23)::16 - [int-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[int-prefix-value]; + Equals;[=]; + MarkupTextLiteral - [24..25)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [25..25)::0 + CSharpExpressionLiteral - [25..25)::0 - [] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + MarkupTextLiteral - [25..26)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [26..29)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document13.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document13.cspans.txt index e69de29bb..8bfb20083 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document13.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document13.cspans.txt @@ -0,0 +1 @@ +Markup span at (28:0,28 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [31] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document13.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document13.stree.txt index 7f597a2b7..895be9f99 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document13.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document13.stree.txt @@ -1,5 +1,22 @@ -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) +RazorDocument - [0..31)::31 - [] + MarkupBlock - [0..31)::31 + MarkupTagHelperElement - [0..31)::31 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..31)::31 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..29)::23 - string-prefix-value - SingleQuotes - Bound - [ string-prefix-value=''] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..26)::19 - [string-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[string-prefix-value]; + Equals;[=]; + MarkupTextLiteral - [27..28)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [28..28)::0 + MarkupTextLiteral - [28..28)::0 - [] + MarkupTextLiteral - [28..29)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [29..31)::2 - [/>] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document14.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document14.stree.txt index 4226a82db..e61b4bc80 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document14.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document14.stree.txt @@ -1,6 +1,23 @@ -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) - Tokens:1 - SyntaxKind.Text;[3]; +RazorDocument - [0..29)::29 - [] + MarkupBlock - [0..29)::29 + MarkupTagHelperElement - [0..29)::29 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..29)::29 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..27)::21 - int-prefix-value - SingleQuotes - Bound - [ int-prefix-value='3'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..23)::16 - [int-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[int-prefix-value]; + Equals;[=]; + MarkupTextLiteral - [24..25)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [25..26)::1 + CSharpExpressionLiteral - [25..26)::1 - [3] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Text;[3]; + MarkupTextLiteral - [26..27)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [27..29)::2 - [/>] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document15.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document15.stree.txt index f3971cb6f..24aba9fd4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document15.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document15.stree.txt @@ -1,10 +1,27 @@ -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) - Tokens:1 - SyntaxKind.Text;[some]; - Markup span - Gen - [ string] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[string]; +RazorDocument - [0..43)::43 - [] + MarkupBlock - [0..43)::43 + MarkupTagHelperElement - [0..43)::43 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..43)::43 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..40)::34 - string-prefix-value - SingleQuotes - Bound - [ string-prefix-value='some string'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..26)::19 - [string-prefix-value] - Gen - SpanEditHandler;Accepts:Any + Text;[string-prefix-value]; + Equals;[=]; + MarkupTextLiteral - [27..28)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [28..39)::11 + MarkupTextLiteral - [28..32)::4 - [some] - Gen - SpanEditHandler;Accepts:Any + Text;[some]; + MarkupTextLiteral - [32..39)::7 - [ string] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[string]; + MarkupTextLiteral - [39..40)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [40..43)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document16.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document16.stree.txt index 670480e00..0b6e2afcb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document16.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document16.stree.txt @@ -1,5 +1,21 @@ -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 +RazorDocument - [0..48)::48 - [] + MarkupBlock - [0..48)::48 + MarkupTagHelperElement - [0..48)::48 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [0..48)::48 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..23)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..23)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupMinimizedTagHelperAttribute - [23..45)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [24..45)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTextLiteral - [45..48)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document17.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document17.stree.txt index f2b82508f..721c05474 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document17.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document17.stree.txt @@ -1,5 +1,25 @@ -Markup block - Gen - 30 - (0:0,0) - Tag block - Gen - 30 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        ...

        - bound-int - Minimized - bound-string - Minimized +RazorDocument - [0..30)::30 - [

        ] + MarkupBlock - [0..30)::30 + MarkupTagHelperElement - [0..30)::30 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..26)::26 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..12)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..12)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupMinimizedTagHelperAttribute - [12..25)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..25)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [25..26)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [26..30)::4 + MarkupTextLiteral - [26..30)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document18.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document18.stree.txt index 100a7b398..289ffb0d0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document18.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document18.stree.txt @@ -1,6 +1,26 @@ -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 +RazorDocument - [0..67)::67 - [] + MarkupBlock - [0..67)::67 + MarkupTagHelperElement - [0..67)::67 - input[SelfClosing] - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [0..67)::67 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..25)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..25)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupMinimizedTagHelperAttribute - [25..42)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..42)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupMinimizedTagHelperAttribute - [42..64)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [42..43)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [43..64)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTextLiteral - [64..67)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document19.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document19.stree.txt index a3c21fad1..eadd68811 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document19.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document19.stree.txt @@ -1,6 +1,30 @@ -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 +RazorDocument - [0..43)::43 - [

        ] + MarkupBlock - [0..43)::43 + MarkupTagHelperElement - [0..43)::43 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..39)::39 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..12)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..12)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupMinimizedTagHelperAttribute - [12..25)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..25)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupMinimizedTagHelperAttribute - [25..38)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..38)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [38..39)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [39..43)::4 + MarkupTextLiteral - [39..43)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document2.stree.txt index 43cbf9453..b8273f755 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document2.stree.txt @@ -1,4 +1,20 @@ -Markup block - Gen - 20 - (0:0,0) - Tag block - Gen - 20 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        ...

        - bound-string - Minimized +RazorDocument - [0..20)::20 - [

        ] + MarkupBlock - [0..20)::20 + MarkupTagHelperElement - [0..20)::20 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..16)::16 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..15)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..15)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [15..16)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [16..20)::4 + MarkupTextLiteral - [16..20)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document20.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document20.stree.txt index 013582e57..6260f25bc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document20.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document20.stree.txt @@ -1,7 +1,30 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..38)::38 - [] + MarkupBlock - [0..38)::38 + MarkupTagHelperElement - [0..38)::38 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [0..38)::38 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..23)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..23)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupTagHelperAttribute - [23..35)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [24..29)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [30..31)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [31..34)::3 + MarkupLiteralAttributeValue - [31..34)::3 - [btn] + MarkupTextLiteral - [31..34)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [34..35)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [35..38)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document21.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document21.stree.txt index e99feb726..bc6bcfe18 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document21.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document21.stree.txt @@ -1,7 +1,34 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..32)::32 - [

        ] + MarkupBlock - [0..32)::32 + MarkupTagHelperElement - [0..32)::32 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..28)::28 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..15)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..15)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTagHelperAttribute - [15..27)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [16..21)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [22..23)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [23..26)::3 + MarkupLiteralAttributeValue - [23..26)::3 - [btn] + MarkupTextLiteral - [23..26)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [26..27)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [27..28)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [28..32)::4 + MarkupTextLiteral - [28..32)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document22.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document22.stree.txt index e6e91e96d..412a844fc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document22.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document22.stree.txt @@ -1,7 +1,30 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - unbound-required - Minimized +RazorDocument - [0..38)::38 - [] + MarkupBlock - [0..38)::38 + MarkupTagHelperElement - [0..38)::38 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [0..38)::38 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..18)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..12)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [14..17)::3 + MarkupLiteralAttributeValue - [14..17)::3 - [btn] + MarkupTextLiteral - [14..17)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [18..35)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [18..19)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [19..35)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupTextLiteral - [35..38)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document23.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document23.stree.txt index 900e86680..5e6900b35 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document23.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document23.stree.txt @@ -1,7 +1,34 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - bound-string - Minimized +RazorDocument - [0..32)::32 - [

        ] + MarkupBlock - [0..32)::32 + MarkupTagHelperElement - [0..32)::32 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..28)::28 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [14..27)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..27)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [27..28)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [28..32)::4 + MarkupTextLiteral - [28..32)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document24.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document24.stree.txt index 6f45d0db8..56f18db51 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document24.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document24.stree.txt @@ -1,7 +1,30 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..43)::43 - [] + MarkupBlock - [0..43)::43 + MarkupTagHelperElement - [0..43)::43 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [0..43)::43 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..28)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..28)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTagHelperAttribute - [28..40)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [28..29)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [29..34)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [35..36)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [36..39)::3 + MarkupLiteralAttributeValue - [36..39)::3 - [btn] + MarkupTextLiteral - [36..39)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [39..40)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [40..43)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document25.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document25.stree.txt index 0191e1713..8fd68a1de 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document25.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document25.stree.txt @@ -1,7 +1,30 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - bound-required-string - Minimized +RazorDocument - [0..43)::43 - [] + MarkupBlock - [0..43)::43 + MarkupTagHelperElement - [0..43)::43 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [0..43)::43 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..18)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..12)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [14..17)::3 + MarkupLiteralAttributeValue - [14..17)::3 - [btn] + MarkupTextLiteral - [14..17)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [18..40)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [18..19)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [19..40)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTextLiteral - [40..43)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document26.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document26.stree.txt index de9970397..a34464be0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document26.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document26.stree.txt @@ -1,7 +1,30 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..40)::40 - [] + MarkupBlock - [0..40)::40 + MarkupTagHelperElement - [0..40)::40 - input[SelfClosing] - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [0..40)::40 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..25)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..25)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTagHelperAttribute - [25..37)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..31)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [32..33)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [33..36)::3 + MarkupLiteralAttributeValue - [33..36)::3 - [btn] + MarkupTextLiteral - [33..36)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [36..37)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [37..40)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document27.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document27.stree.txt index 605f4e325..512b71f23 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document27.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document27.stree.txt @@ -1,7 +1,34 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..29)::29 - [

        ] + MarkupBlock - [0..29)::29 + MarkupTagHelperElement - [0..29)::29 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..12)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..12)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTagHelperAttribute - [12..24)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..18)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [19..20)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [20..23)::3 + MarkupLiteralAttributeValue - [20..23)::3 - [btn] + MarkupTextLiteral - [20..23)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [23..24)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [24..25)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [25..29)::4 + MarkupTextLiteral - [25..29)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document28.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document28.stree.txt index 762c47e1d..6219a249f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document28.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document28.stree.txt @@ -1,7 +1,30 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - bound-required-int - Minimized +RazorDocument - [0..40)::40 - [] + MarkupBlock - [0..40)::40 + MarkupTagHelperElement - [0..40)::40 - input[SelfClosing] - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [0..40)::40 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..18)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..12)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [14..17)::3 + MarkupLiteralAttributeValue - [14..17)::3 - [btn] + MarkupTextLiteral - [14..17)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [17..18)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [18..37)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [18..19)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [19..37)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTextLiteral - [37..40)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document29.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document29.stree.txt index fbb8c1dc5..00c2c37ba 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document29.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document29.stree.txt @@ -1,7 +1,34 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - bound-int - Minimized +RazorDocument - [0..29)::29 - [

        ] + MarkupBlock - [0..29)::29 + MarkupTagHelperElement - [0..29)::29 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - SingleQuotes - Unbound - [ class='btn'] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [14..24)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..24)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTextLiteral - [24..25)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [25..29)::4 + MarkupTextLiteral - [25..29)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document3.stree.txt index 8603a024a..6b9b8a897 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document3.stree.txt @@ -1,4 +1,16 @@ -Markup block - Gen - 31 - (0:0,0) - Tag block - Gen - 31 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 - SelfClosing - - bound-required-string - Minimized +RazorDocument - [0..31)::31 - [] + MarkupBlock - [0..31)::31 + MarkupTagHelperElement - [0..31)::31 - input[SelfClosing] - InputTagHelper1 - InputTagHelper3 + MarkupTagHelperStartTag - [0..31)::31 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..28)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..28)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTextLiteral - [28..31)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document30.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document30.stree.txt index 0457882a1..a94739906 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document30.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document30.stree.txt @@ -1,20 +1,49 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (15:0,15) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[1]; - bound-required-int - Minimized +RazorDocument - [0..54)::54 - [] + MarkupBlock - [0..54)::54 + MarkupTagHelperElement - [0..54)::54 - input[SelfClosing] - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [0..54)::54 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupTagHelperAttribute - [6..32)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..12)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [13..14)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [14..31)::17 + MarkupDynamicAttributeValue - [14..27)::13 - [@DateTime.Now] + GenericBlock - [14..27)::13 + CSharpCodeBlock - [14..27)::13 + CSharpImplicitExpression - [14..27)::13 + CSharpTransition - [14..15)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [15..27)::12 + CSharpCodeBlock - [15..27)::12 + CSharpExpressionLiteral - [15..27)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [27..29)::2 - [ +] + MarkupTextLiteral - [27..28)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [28..29)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [29..31)::2 - [ 1] + MarkupTextLiteral - [29..30)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [30..31)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [31..32)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [32..51)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [32..33)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [33..51)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTextLiteral - [51..54)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document31.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document31.stree.txt index e3369ba47..c36cc9917 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document31.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document31.stree.txt @@ -1,20 +1,53 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (11:0,11) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[1]; - bound-int - Minimized +RazorDocument - [0..43)::43 - [

        ] + MarkupBlock - [0..43)::43 + MarkupTagHelperElement - [0..43)::43 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..39)::39 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..28)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [10..27)::17 + MarkupDynamicAttributeValue - [10..23)::13 - [@DateTime.Now] + GenericBlock - [10..23)::13 + CSharpCodeBlock - [10..23)::13 + CSharpImplicitExpression - [10..23)::13 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [11..23)::12 + CSharpCodeBlock - [11..23)::12 + CSharpExpressionLiteral - [11..23)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [23..25)::2 - [ +] + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [24..25)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [25..27)::2 - [ 1] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..27)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [27..28)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [28..38)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [28..29)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [29..38)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTextLiteral - [38..39)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [39..43)::4 + MarkupTextLiteral - [39..43)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document32.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document32.stree.txt index d7a154272..671c6cea1 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document32.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document32.stree.txt @@ -1,38 +1,92 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (37:0,37) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (49:0,49) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (51:0,51) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (87:0,87) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (99:0,99) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (101:0,101) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[1]; - unbound-required - Minimized +RazorDocument - [0..126)::126 - [] + MarkupBlock - [0..126)::126 + MarkupTagHelperElement - [0..126)::126 - input[SelfClosing] - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [0..126)::126 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..28)::22 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [6..10)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [10..28)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTagHelperAttribute - [28..54)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [28..29)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [29..34)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [35..36)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [36..53)::17 + MarkupDynamicAttributeValue - [36..49)::13 - [@DateTime.Now] + GenericBlock - [36..49)::13 + CSharpCodeBlock - [36..49)::13 + CSharpImplicitExpression - [36..49)::13 + CSharpTransition - [36..37)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [37..49)::12 + CSharpCodeBlock - [37..49)::12 + CSharpExpressionLiteral - [37..49)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [49..51)::2 - [ +] + MarkupTextLiteral - [49..50)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [50..51)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [51..53)::2 - [ 1] + MarkupTextLiteral - [51..52)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [52..53)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [53..54)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [54..78)::24 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [54..57)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [57..78)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTagHelperAttribute - [78..104)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [78..79)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [79..84)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [85..86)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [86..103)::17 + MarkupDynamicAttributeValue - [86..99)::13 - [@DateTime.Now] + GenericBlock - [86..99)::13 + CSharpCodeBlock - [86..99)::13 + CSharpImplicitExpression - [86..99)::13 + CSharpTransition - [86..87)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [87..99)::12 + CSharpCodeBlock - [87..99)::12 + CSharpExpressionLiteral - [87..99)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [99..101)::2 - [ +] + MarkupTextLiteral - [99..100)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [100..101)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [101..103)::2 - [ 1] + MarkupTextLiteral - [101..102)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [102..103)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [103..104)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [104..122)::18 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [104..106)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [106..122)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupTextLiteral - [122..126)::4 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document33.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document33.stree.txt index c27595040..1e06d3cd0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document33.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document33.stree.txt @@ -1,38 +1,96 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (24:0,24) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (38:0,38) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (65:0,65) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ +] - SpanEditHandler;Accepts:Any - (77:0,77) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[+]; - Markup span - Gen - [ 1] - SpanEditHandler;Accepts:Any - (79:0,79) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[1]; - bound-string - Minimized +RazorDocument - [0..101)::101 - [

        ] + MarkupBlock - [0..101)::101 + MarkupTagHelperElement - [0..101)::101 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..97)::97 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..15)::13 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [2..6)::4 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..15)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTagHelperAttribute - [15..41)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [16..21)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [22..23)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [23..40)::17 + MarkupDynamicAttributeValue - [23..36)::13 - [@DateTime.Now] + GenericBlock - [23..36)::13 + CSharpCodeBlock - [23..36)::13 + CSharpImplicitExpression - [23..36)::13 + CSharpTransition - [23..24)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [24..36)::12 + CSharpCodeBlock - [24..36)::12 + CSharpExpressionLiteral - [24..36)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [36..38)::2 - [ +] + MarkupTextLiteral - [36..37)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [37..38)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [38..40)::2 - [ 1] + MarkupTextLiteral - [38..39)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [39..40)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [40..41)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [41..56)::15 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [41..44)::3 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [44..56)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTagHelperAttribute - [56..82)::26 - class - SingleQuotes - Unbound - [ class='@DateTime.Now + 1'] + MarkupTextLiteral - [56..57)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [57..62)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [63..64)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTagHelperAttributeValue - [64..81)::17 + MarkupDynamicAttributeValue - [64..77)::13 - [@DateTime.Now] + GenericBlock - [64..77)::13 + CSharpCodeBlock - [64..77)::13 + CSharpImplicitExpression - [64..77)::13 + CSharpTransition - [64..65)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [65..77)::12 + CSharpCodeBlock - [65..77)::12 + CSharpExpressionLiteral - [65..77)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [77..79)::2 - [ +] + MarkupTextLiteral - [77..78)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [78..79)::1 - [+] - Gen - SpanEditHandler;Accepts:Any + Text;[+]; + MarkupLiteralAttributeValue - [79..81)::2 - [ 1] + MarkupTextLiteral - [79..80)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [80..81)::1 - [1] - Gen - SpanEditHandler;Accepts:Any + Text;[1]; + MarkupTextLiteral - [81..82)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupMinimizedTagHelperAttribute - [82..96)::14 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [82..84)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [84..96)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; + MarkupTextLiteral - [96..97)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [97..101)::4 + MarkupTextLiteral - [97..101)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document4.stree.txt index fc50535f1..e0d945f13 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document4.stree.txt @@ -1,4 +1,16 @@ -Markup block - Gen - 28 - (0:0,0) - Tag block - Gen - 28 - (0:0,0) - input - InputTagHelper2 - InputTagHelper3 - SelfClosing - - bound-required-int - Minimized +RazorDocument - [0..28)::28 - [] + MarkupBlock - [0..28)::28 + MarkupTagHelperElement - [0..28)::28 - input[SelfClosing] - InputTagHelper2 - InputTagHelper3 + MarkupTagHelperStartTag - [0..28)::28 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..25)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..25)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupTextLiteral - [25..28)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document5.stree.txt index 1808af976..624fe61eb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document5.stree.txt @@ -1,4 +1,20 @@ -Markup block - Gen - 17 - (0:0,0) - Tag block - Gen - 17 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        ...

        - bound-int - Minimized +RazorDocument - [0..17)::17 - [

        ] + MarkupBlock - [0..17)::17 + MarkupTagHelperElement - [0..17)::17 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..13)::13 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..12)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..12)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupTextLiteral - [12..13)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [13..17)::4 + MarkupTextLiteral - [13..17)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document6.stree.txt index 74632783f..ae93684dd 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document6.stree.txt @@ -1,4 +1,15 @@ -Markup block - Gen - 23 - (0:0,0) - Tag block - Gen - 23 - (0:0,0) - input - InputTagHelper3 - SelfClosing - - int-dictionary - Minimized +RazorDocument - [0..23)::23 - [] + MarkupBlock - [0..23)::23 + MarkupTagHelperElement - [0..23)::23 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..23)::23 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..21)::15 - int-dictionary - Minimized - Bound - [ int-dictionary] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..21)::14 - [int-dictionary] - Gen - SpanEditHandler;Accepts:Any + Text;[int-dictionary]; + MarkupTextLiteral - [21..23)::2 - [/>] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document7.stree.txt index 938c61a11..54840502c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document7.stree.txt @@ -1,4 +1,16 @@ -Markup block - Gen - 27 - (0:0,0) - Tag block - Gen - 27 - (0:0,0) - input - InputTagHelper3 - SelfClosing - - string-dictionary - Minimized +RazorDocument - [0..27)::27 - [] + MarkupBlock - [0..27)::27 + MarkupTagHelperElement - [0..27)::27 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..27)::27 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..24)::18 - string-dictionary - Minimized - Bound - [ string-dictionary] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..24)::17 - [string-dictionary] - Gen - SpanEditHandler;Accepts:Any + Text;[string-dictionary]; + MarkupTextLiteral - [24..27)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document8.stree.txt index 766a4da8b..012bb8c2e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document8.stree.txt @@ -1,4 +1,16 @@ -Markup block - Gen - 21 - (0:0,0) - Tag block - Gen - 21 - (0:0,0) - input - InputTagHelper3 - SelfClosing - - int-prefix- - Minimized +RazorDocument - [0..21)::21 - [] + MarkupBlock - [0..21)::21 + MarkupTagHelperElement - [0..21)::21 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..21)::21 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..18)::12 - int-prefix- - Minimized - Bound - [ int-prefix-] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..18)::11 - [int-prefix-] - Gen - SpanEditHandler;Accepts:Any + Text;[int-prefix-]; + MarkupTextLiteral - [18..21)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document9.stree.txt index 65f176bb5..0e590ed9f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_Document9.stree.txt @@ -1,4 +1,15 @@ -Markup block - Gen - 23 - (0:0,0) - Tag block - Gen - 23 - (0:0,0) - input - InputTagHelper3 - SelfClosing - - string-prefix- - Minimized +RazorDocument - [0..23)::23 - [] + MarkupBlock - [0..23)::23 + MarkupTagHelperElement - [0..23)::23 - input[SelfClosing] - InputTagHelper3 + MarkupTagHelperStartTag - [0..23)::23 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..21)::15 - string-prefix- - Minimized - Bound - [ string-prefix-] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..21)::14 - [string-prefix-] - Gen - SpanEditHandler;Accepts:Any + Text;[string-prefix-]; + MarkupTextLiteral - [21..23)::2 - [/>] - Gen - SpanEditHandler;Accepts:Any + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags1.stree.txt index f19a3803b..331c5156d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags1.stree.txt @@ -1,4 +1,12 @@ -Markup block - Gen - 23 - (0:0,0) - Tag block - Gen - 23 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 - StartTagAndEndTag - - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..23)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..23)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags2.stree.txt index 599738b0e..a2daf7a55 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags2.stree.txt @@ -1,4 +1,12 @@ -Markup block - Gen - 28 - (0:0,0) - Tag block - Gen - 28 - (0:0,0) - input - InputTagHelper1 - InputTagHelper3 - StartTagAndEndTag - - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..28)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..28)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags3.stree.txt index 51350e1bd..4943c9056 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags3.stree.txt @@ -1,4 +1,12 @@ -Markup block - Gen - 25 - (0:0,0) - Tag block - Gen - 25 - (0:0,0) - input - InputTagHelper2 - InputTagHelper3 - StartTagAndEndTag - - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..25)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..25)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags4.stree.txt index dd174f8f5..bd5f5d9de 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags4.stree.txt @@ -1,6 +1,22 @@ -Markup block - Gen - 64 - (0:0,0) - Tag block - Gen - 64 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 - StartTagAndEndTag - - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..25)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..25)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupMinimizedTagHelperAttribute - [25..42)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..42)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupMinimizedTagHelperAttribute - [42..64)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [42..43)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [43..64)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags5.stree.txt index bfbc9958b..c8ba64d90 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags5.stree.txt @@ -1,4 +1,12 @@ -Markup block - Gen - 15 - (0:0,0) - Tag block - Gen - 15 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..15)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..15)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags6.stree.txt index cf33d9f99..b96cd258d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags6.stree.txt @@ -1,4 +1,12 @@ -Markup block - Gen - 12 - (0:0,0) - Tag block - Gen - 12 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..12)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..12)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags7.stree.txt index b8bf70c91..6b54e555f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags7.stree.txt @@ -1,5 +1,17 @@ -Markup block - Gen - 25 - (0:0,0) - Tag block - Gen - 25 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [2..12)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..12)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupMinimizedTagHelperAttribute - [12..25)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [12..13)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [13..25)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags8.stree.txt index 5ea2f5855..e623f0ac1 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedAttributes_PartialTags8.stree.txt @@ -1,10 +1,37 @@ -Markup block - Gen - 89 - (0:0,0) - Tag block - Gen - 89 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - InputTagHelper3 - StartTagAndEndTag - - 25 - (64:0,64) - p - PTagHelper - StartTagAndEndTag -

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..25)::19 - bound-required-int - Minimized - Bound - [ bound-required-int] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..25)::18 - [bound-required-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-int]; + MarkupMinimizedTagHelperAttribute - [25..42)::17 - unbound-required - Minimized - Unbound - [ unbound-required] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..42)::16 - [unbound-required] - Gen - SpanEditHandler;Accepts:Any + Text;[unbound-required]; + MarkupMinimizedTagHelperAttribute - [42..64)::22 - bound-required-string - Minimized - Bound - [ bound-required-string] + MarkupTextLiteral - [42..43)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [43..64)::21 - [bound-required-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-required-string]; + MarkupTagHelperElement - [64..89)::25 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [64..89)::25 + MarkupTextLiteral - [64..66)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupMinimizedTagHelperAttribute - [66..76)::10 - bound-int - Minimized - Bound - [ bound-int] + MarkupTextLiteral - [66..67)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [67..76)::9 - [bound-int] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-int]; + MarkupMinimizedTagHelperAttribute - [76..89)::13 - bound-string - Minimized - Bound - [ bound-string] + MarkupTextLiteral - [76..77)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [77..89)::12 - [bound-string] - Gen - SpanEditHandler;Accepts:Any + Text;[bound-string]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedBooleanBoundAttributes.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedBooleanBoundAttributes.stree.txt index 8ff170117..1d5ebc5e2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedBooleanBoundAttributes.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperBlockRewriterTest/UnderstandsMinimizedBooleanBoundAttributes.stree.txt @@ -1,5 +1,21 @@ -Markup block - Gen - 37 - (0:0,0) - Tag block - Gen - 37 - (0:0,0) - input - InputTagHelper - SelfClosing - - boundbool - Minimized - boundbooldict-key - Minimized +RazorDocument - [0..37)::37 - [] + MarkupBlock - [0..37)::37 + MarkupTagHelperElement - [0..37)::37 - input[SelfClosing] - InputTagHelper + MarkupTagHelperStartTag - [0..37)::37 + MarkupTextLiteral - [0..6)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + MarkupMinimizedTagHelperAttribute - [6..16)::10 - boundbool - Minimized - Bound - [ boundbool] + MarkupTextLiteral - [6..7)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [7..16)::9 - [boundbool] - Gen - SpanEditHandler;Accepts:Any + Text;[boundbool]; + MarkupMinimizedTagHelperAttribute - [16..34)::18 - boundbooldict-key - Minimized - Bound - [ boundbooldict-key] + MarkupTextLiteral - [16..17)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [17..34)::17 - [boundbooldict-key] - Gen - SpanEditHandler;Accepts:Any + Text;[boundbooldict-key]; + MarkupTextLiteral - [34..37)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers1.stree.txt index e56537a94..be3ea5965 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers1.stree.txt @@ -1,8 +1,9 @@ -Markup block - Gen - 7 - (0:0,0) - Tag block - Gen - 7 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[th:]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..7)::7 - [] + MarkupBlock - [0..7)::7 + MarkupTagBlock - [0..7)::7 - [] + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers10.stree.txt index e36b2ff45..962cf6cf6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers10.stree.txt @@ -1,13 +1,35 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [21..37) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [21..37) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..47)::47 - [words and spaces] + MarkupBlock - [0..47)::47 + MarkupTagHelperElement - [0..47)::47 - th:myth[StartTagAndEndTag] - mythTagHelper + MarkupTagHelperStartTag - [0..21)::21 + MarkupTextLiteral - [0..8)::8 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:myth]; + MarkupTagHelperAttribute - [8..20)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [20..21)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [21..37)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [37..47)::10 + MarkupTextLiteral - [37..47)::10 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:myth]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers11.stree.txt index edc4636aa..a15006bfd 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers11.stree.txt @@ -1,13 +1,33 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 - (18:0,18) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..34)::34 - [] + MarkupBlock - [0..34)::34 + MarkupTagHelperElement - [0..34)::34 - th:myth2[SelfClosing] - mythTagHelper2 + MarkupTagHelperStartTag - [0..34)::34 + MarkupTextLiteral - [0..9)::9 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:myth2]; + MarkupTagHelperAttribute - [9..31)::22 - bound - DoubleQuotes - Bound - [ bound="@DateTime.Now"] + MarkupTextLiteral - [9..10)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [10..15)::5 - [bound] - Gen - SpanEditHandler;Accepts:Any + Text;[bound]; + Equals;[=]; + MarkupTextLiteral - [16..17)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [17..30)::13 + MarkupBlock - [17..30)::13 + CSharpCodeBlock - [17..30)::13 + CSharpImplicitExpression - [17..30)::13 + CSharpTransition - [17..18)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [18..30)::12 + CSharpCodeBlock - [18..30)::12 + CSharpExpressionLiteral - [18..30)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:AnyExceptNewline;ImplicitExpression[ATD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [30..31)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [31..34)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers2.stree.txt index 8f244a612..5e102b0e0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers2.stree.txt @@ -1,19 +1,19 @@ -Markup block - Gen - 27 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[th:]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [5..21) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [5..21) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; - Tag block - Gen - 6 - (21:0,21) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[th:]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..27)::27 - [words and spaces] + MarkupBlock - [0..27)::27 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:]; + CloseAngle;[>]; + MarkupTextLiteral - [5..21)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagBlock - [21..27)::6 - [] + MarkupTextLiteral - [21..27)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers3.stree.txt index 6fa88c654..b6594f700 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers3.stree.txt @@ -1,3 +1,10 @@ -Markup block - Gen - 11 - (0:0,0) - Tag block - Gen - 11 - (0:0,0) - th:myth - mythTagHelper - SelfClosing - +RazorDocument - [0..11)::11 - [] + MarkupBlock - [0..11)::11 + MarkupTagHelperElement - [0..11)::11 - th:myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..11)::11 + MarkupTextLiteral - [0..11)::11 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:myth]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers4.stree.txt index 25308b73b..b53776a02 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers4.stree.txt @@ -1,3 +1,14 @@ -Markup block - Gen - 19 - (0:0,0) - Tag block - Gen - 19 - (0:0,0) - th:myth - mythTagHelper - StartTagAndEndTag - ... +RazorDocument - [0..19)::19 - [] + MarkupBlock - [0..19)::19 + MarkupTagHelperElement - [0..19)::19 - th:myth[StartTagAndEndTag] - mythTagHelper + MarkupTagHelperStartTag - [0..9)::9 + MarkupTextLiteral - [0..9)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:myth]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [9..19)::10 + MarkupTextLiteral - [9..19)::10 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:myth]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers5.stree.txt index aa4726272..734aa8511 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers5.stree.txt @@ -1,14 +1,25 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[th:my2th]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 11 - (19:0,19) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[th:my2th]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..40)::40 - [] + MarkupBlock - [0..40)::40 + MarkupTagHelperElement - [0..40)::40 - th:myth[StartTagAndEndTag] - mythTagHelper + MarkupTagHelperStartTag - [0..9)::9 + MarkupTextLiteral - [0..9)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:myth]; + CloseAngle;[>]; + MarkupTagBlock - [9..19)::10 - [] + MarkupTextLiteral - [9..19)::10 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:my2th]; + CloseAngle;[>]; + MarkupTagBlock - [19..30)::11 - [] + MarkupTextLiteral - [19..30)::11 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:my2th]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [30..40)::10 + MarkupTextLiteral - [30..40)::10 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:myth]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers6.stree.txt index 541d6b999..9a36af554 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers6.stree.txt @@ -1,11 +1,12 @@ -Markup block - Gen - 12 - (0:0,0) - Tag block - Gen - 12 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [th:myth />] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:4 - SyntaxKind.Text;[th:myth]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..12)::12 - [] + MarkupBlock - [0..12)::12 + MarkupTagBlock - [0..12)::12 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..12)::10 - [th:myth />] - Gen - SpanEditHandler;Accepts:Any + Text;[th:myth]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers7.stree.txt index e0fd9882b..29d040629 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers7.stree.txt @@ -1,18 +1,19 @@ -Markup block - Gen - 21 - (0:0,0) - Tag block - Gen - 10 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [th:myth>] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:2 - SyntaxKind.Text;[th:myth]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 11 - (10:0,10) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (12:0,12) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [th:myth>] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:2 - SyntaxKind.Text;[th:myth]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..21)::21 - [] + MarkupBlock - [0..21)::21 + MarkupTagBlock - [0..10)::10 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..10)::8 - [th:myth>] - Gen - SpanEditHandler;Accepts:Any + Text;[th:myth]; + CloseAngle;[>]; + MarkupTagBlock - [10..21)::11 - [] + MarkupTextLiteral - [10..12)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [12..13)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [13..21)::8 - [th:myth>] - Gen - SpanEditHandler;Accepts:Any + Text;[th:myth]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers8.stree.txt index b27544e31..838fb64cc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers8.stree.txt @@ -1,6 +1,25 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..23)::23 - [] + MarkupBlock - [0..23)::23 + MarkupTagHelperElement - [0..23)::23 - th:myth[SelfClosing] - mythTagHelper + MarkupTagHelperStartTag - [0..23)::23 + MarkupTextLiteral - [0..8)::8 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:myth]; + MarkupTagHelperAttribute - [8..20)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [20..23)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers9.stree.txt index c2cc6ba69..11055a52c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsPrefixedTagHelpers9.stree.txt @@ -1,6 +1,25 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..24)::24 - [] + MarkupBlock - [0..24)::24 + MarkupTagHelperElement - [0..24)::24 - th:myth2[SelfClosing] - mythTagHelper2 + MarkupTagHelperStartTag - [0..24)::24 + MarkupTextLiteral - [0..9)::9 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:myth2]; + MarkupTagHelperAttribute - [9..21)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [9..10)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [10..15)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [16..17)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [17..20)::3 + MarkupLiteralAttributeValue - [17..20)::3 - [btn] + MarkupTextLiteral - [17..20)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [21..24)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsRazorCommentsAsChildren.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsRazorCommentsAsChildren.stree.txt index 06caab940..c9fe5d35d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsRazorCommentsAsChildren.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsRazorCommentsAsChildren.stree.txt @@ -1,27 +1,33 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[b]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [asdf] - [6..10) - FullWidth: 4 - Slots: 1 - SyntaxKind.Text;[asdf]; - Tag block - Gen - 4 - (10:0,10) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[b]; - SyntaxKind.CloseAngle;[>]; - Comment block - Gen - 8 - (14:0,14) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (14:0,14) - Tokens:1 - SyntaxKind.RazorCommentTransition;[@]; - MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1 - SyntaxKind.RazorCommentStar;[*]; - Comment span - Gen - [asdf] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.RazorCommentLiteral;[asdf]; - MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1 - SyntaxKind.RazorCommentStar;[*]; - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:1 - SyntaxKind.RazorCommentTransition;[@]; +RazorDocument - [0..26)::26 - [

        asdf@*asdf*@

        ] + MarkupBlock - [0..26)::26 + MarkupTagHelperElement - [0..26)::26 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..6)::3 - [] + MarkupTextLiteral - [3..6)::3 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[b]; + CloseAngle;[>]; + MarkupTextLiteral - [6..10)::4 - [asdf] - Gen - SpanEditHandler;Accepts:Any + Text;[asdf]; + MarkupTagBlock - [10..14)::4 - [] + MarkupTextLiteral - [10..14)::4 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[b]; + CloseAngle;[>]; + RazorComment - [14..22)::8 + RazorCommentTransition;[@]; + RazorCommentStar;[*]; + RazorCommentLiteral;[asdf]; + RazorCommentStar;[*]; + RazorCommentTransition;[@]; + MarkupTagHelperEndTag - [22..26)::4 + MarkupTextLiteral - [22..26)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsRazorMarkupInHtmlComment.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsRazorMarkupInHtmlComment.stree.txt index b1006157b..113f4d153 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsRazorMarkupInHtmlComment.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsRazorMarkupInHtmlComment.stree.txt @@ -1,32 +1,46 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[b]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [asdf] - [6..10) - FullWidth: 4 - Slots: 1 - SyntaxKind.Text;[asdf]; - Tag block - Gen - 4 - (10:0,10) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[b]; - SyntaxKind.CloseAngle;[>]; - HtmlComment block - Gen - 19 - (14:0,14) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..37)::37 - [

        asdf

        ] + MarkupBlock - [0..37)::37 + MarkupTagHelperElement - [0..37)::37 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..6)::3 - [] + MarkupTextLiteral - [3..6)::3 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[b]; + CloseAngle;[>]; + MarkupTextLiteral - [6..10)::4 - [asdf] - Gen - SpanEditHandler;Accepts:Any + Text;[asdf]; + MarkupTagBlock - [10..14)::4 - [] + MarkupTextLiteral - [10..14)::4 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[b]; + CloseAngle;[>]; + MarkupCommentBlock - [14..33)::19 + MarkupTextLiteral - [14..18)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [33..37)::4 + MarkupTextLiteral - [33..37)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsSimpleHtmlCommentsAsChildren.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsSimpleHtmlCommentsAsChildren.stree.txt index 41643cef9..b74bc809e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsSimpleHtmlCommentsAsChildren.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsSimpleHtmlCommentsAsChildren.stree.txt @@ -1,28 +1,39 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[b]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [asdf] - [6..10) - FullWidth: 4 - Slots: 1 - SyntaxKind.Text;[asdf]; - Tag block - Gen - 4 - (10:0,10) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[b]; - SyntaxKind.CloseAngle;[>]; - HtmlComment block - Gen - 18 - (14:0,14) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (29:0,29) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..36)::36 - [

        asdf

        ] + MarkupBlock - [0..36)::36 + MarkupTagHelperElement - [0..36)::36 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..6)::3 - [] + MarkupTextLiteral - [3..6)::3 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[b]; + CloseAngle;[>]; + MarkupTextLiteral - [6..10)::4 - [asdf] - Gen - SpanEditHandler;Accepts:Any + Text;[asdf]; + MarkupTagBlock - [10..14)::4 - [] + MarkupTextLiteral - [10..14)::4 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[b]; + CloseAngle;[>]; + MarkupCommentBlock - [14..32)::18 + MarkupTextLiteral - [14..18)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [32..36)::4 + MarkupTextLiteral - [32..36)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag1.stree.txt index 7e1625642..1820cae1f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag1.stree.txt @@ -1,30 +1,40 @@ -Markup block - Gen - 22 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 22 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 20 - (2:0,2) - Tag block - Gen - 19 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text]; - Markup block - Gen - 12 - (8:0,8) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..22)::22 - [@{}] + MarkupBlock - [0..22)::22 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..22)::22 + CSharpStatement - [0..22)::22 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..22)::21 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..22)::20 + MarkupBlock - [2..22)::20 + MarkupTagBlock - [2..21)::19 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..8)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupAttributeBlock - [8..20)::12 - [ class="btn"] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [20..21)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTextLiteral - [21..22)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [22..22)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag2.stree.txt index 67597040c..cbdf9ea72 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag2.stree.txt @@ -1,43 +1,51 @@ -Markup block - Gen - 30 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 30 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 27 - (2:0,2) - Tag block - Gen - 19 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text]; - Markup block - Gen - 12 - (8:0,8) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (21:0,21) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (29:0,29) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..30)::30 - [@{}] + MarkupBlock - [0..30)::30 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..30)::30 + CSharpStatement - [0..30)::30 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..30)::29 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..29)::27 + MarkupBlock - [2..29)::27 + MarkupTagBlock - [2..21)::19 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..8)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupAttributeBlock - [8..20)::12 - [ class="btn"] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [20..21)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagBlock - [21..29)::8 - [] + MarkupTextLiteral - [21..23)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [23..24)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [24..29)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [29..29)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [29..30)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [30..30)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag3.stree.txt index 6468ec902..9ccfbc308 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag3.stree.txt @@ -1,49 +1,57 @@ -Markup block - Gen - 47 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 47 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 44 - (2:0,2) - Tag block - Gen - 19 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text]; - Markup block - Gen - 12 - (8:0,8) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [words with spaces] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[with]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; - Tag block - Gen - 8 - (38:0,38) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (41:0,41) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (46:0,46) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (47:0,47) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..47)::47 - [@{words with spaces}] + MarkupBlock - [0..47)::47 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..47)::47 + CSharpStatement - [0..47)::47 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..47)::46 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..46)::44 + MarkupBlock - [2..46)::44 + MarkupTagBlock - [2..21)::19 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..8)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupAttributeBlock - [8..20)::12 - [ class="btn"] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [20..21)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTextLiteral - [21..38)::17 - [words with spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[with]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagBlock - [38..46)::8 - [] + MarkupTextLiteral - [38..40)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [40..41)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [41..46)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [46..46)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [46..47)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [47..47)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag4.stree.txt index 7f34c4efd..fd66721f5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag4.stree.txt @@ -1,53 +1,66 @@ -Markup block - Gen - 47 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 47 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 44 - (2:0,2) - Tag block - Gen - 36 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text]; - Markup block - Gen - 18 - (8:0,8) - Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[btn1]; - Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[btn2]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup block - Gen - 11 - (26:0,26) - Markup span - Gen - [ class2=] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class2]; - SyntaxKind.Equals;[=]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (38:0,38) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (41:0,41) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (46:0,46) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (47:0,47) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..47)::47 - [@{}] + MarkupBlock - [0..47)::47 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..47)::47 + CSharpStatement - [0..47)::47 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..47)::46 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..46)::44 + MarkupBlock - [2..46)::44 + MarkupTagBlock - [2..38)::36 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..8)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupAttributeBlock - [8..26)::18 - [ class='btn1 btn2'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + GenericBlock - [16..25)::9 + MarkupLiteralAttributeValue - [16..20)::4 - [btn1] + MarkupTextLiteral - [16..20)::4 - [btn1] - Gen - SpanEditHandler;Accepts:Any + Text;[btn1]; + MarkupLiteralAttributeValue - [20..25)::5 - [ btn2] + MarkupTextLiteral - [20..21)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [21..25)::4 - [btn2] - Gen - SpanEditHandler;Accepts:Any + Text;[btn2]; + MarkupTextLiteral - [25..26)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupAttributeBlock - [26..37)::11 - [ class2=btn] + MarkupTextLiteral - [26..27)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [27..33)::6 - [class2] - Gen - SpanEditHandler;Accepts:Any + Text;[class2]; + Equals;[=]; + GenericBlock - [34..37)::3 + MarkupLiteralAttributeValue - [34..37)::3 - [btn] + MarkupTextLiteral - [34..37)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [37..38)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagBlock - [38..46)::8 - [] + MarkupTextLiteral - [38..40)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [40..41)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [41..46)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [46..46)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [46..47)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [47..47)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag5.stree.txt index 35071254a..ae63cba1b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithAttrTextTag5.stree.txt @@ -1,56 +1,70 @@ -Markup block - Gen - 50 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 50 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 47 - (2:0,2) - Tag block - Gen - 39 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text]; - Markup block - Gen - 32 - (8:0,8) - Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[btn1]; - Markup block - Gen - 14 - (20:0,20) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (21:0,21) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (22:0,22) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[btn2]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (39:0,39) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (41:0,41) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (43:0,43) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (44:0,44) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (49:0,49) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (49:0,49) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (50:0,50) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..50)::50 - [@{}] + MarkupBlock - [0..50)::50 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..50)::50 + CSharpStatement - [0..50)::50 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..50)::49 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..49)::47 + MarkupBlock - [2..49)::47 + MarkupTagBlock - [2..41)::39 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..8)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupAttributeBlock - [8..40)::32 - [ class='btn1 @DateTime.Now btn2'] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + GenericBlock - [16..39)::23 + MarkupLiteralAttributeValue - [16..20)::4 - [btn1] + MarkupTextLiteral - [16..20)::4 - [btn1] - Gen - SpanEditHandler;Accepts:Any + Text;[btn1]; + MarkupDynamicAttributeValue - [20..34)::14 - [ @DateTime.Now] + MarkupTextLiteral - [20..21)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + GenericBlock - [21..34)::13 + CSharpCodeBlock - [21..34)::13 + CSharpImplicitExpression - [21..34)::13 + CSharpTransition - [21..22)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [22..34)::12 + CSharpCodeBlock - [22..34)::12 + CSharpExpressionLiteral - [22..34)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [34..39)::5 - [ btn2] + MarkupTextLiteral - [34..35)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [35..39)::4 - [btn2] - Gen - SpanEditHandler;Accepts:Any + Text;[btn2]; + MarkupTextLiteral - [39..40)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [40..41)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagBlock - [41..49)::8 - [] + MarkupTextLiteral - [41..43)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [43..44)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [44..49)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [49..49)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [49..50)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [50..50)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.stree.txt index 2e66d58a5..e0dba1948 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag1.stree.txt @@ -1,19 +1,25 @@ -Markup block - Gen - 10 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 10 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 8 - (2:0,2) - Tag block - Gen - 7 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (9:0,9) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..10)::10 - [@{}] + MarkupBlock - [0..10)::10 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..10)::10 + CSharpStatement - [0..10)::10 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..10)::9 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..10)::8 + MarkupBlock - [2..10)::8 + MarkupTagBlock - [2..9)::7 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..9)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [9..10)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [10..10)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.stree.txt index 29bbed756..a77624de5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag2.stree.txt @@ -1,24 +1,28 @@ -Markup block - Gen - 11 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 11 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 8 - (2:0,2) - Tag block - Gen - 8 - (2:0,2) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..11)::11 - [@{}] + MarkupBlock - [0..11)::11 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..11)::11 + CSharpStatement - [0..11)::11 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..11)::10 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..10)::8 + MarkupBlock - [2..10)::8 + MarkupTagBlock - [2..10)::8 - [] + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [5..10)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [10..10)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [11..11)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag3.stree.txt index 071019f03..dd4a2f53e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag3.stree.txt @@ -1,32 +1,36 @@ -Markup block - Gen - 18 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 18 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 15 - (2:0,2) - Tag block - Gen - 7 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (9:0,9) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (11:0,11) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (12:0,12) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (17:0,17) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..18)::18 - [@{}] + MarkupBlock - [0..18)::18 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..18)::18 + CSharpStatement - [0..18)::18 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..18)::17 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..17)::15 + MarkupBlock - [2..17)::15 + MarkupTagBlock - [2..9)::7 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..9)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + MarkupTagBlock - [9..17)::8 - [] + MarkupTextLiteral - [9..11)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [11..12)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [12..17)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [17..17)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [17..18)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [18..18)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag4.stree.txt index 6af1febb2..76ed69993 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag4.stree.txt @@ -1,38 +1,42 @@ -Markup block - Gen - 34 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 34 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 31 - (2:0,2) - Tag block - Gen - 7 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (9:0,9) - Tokens:5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; - Tag block - Gen - 8 - (25:0,25) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (28:0,28) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..34)::34 - [@{words and spaces}] + MarkupBlock - [0..34)::34 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..34)::34 + CSharpStatement - [0..34)::34 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..34)::33 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..33)::31 + MarkupBlock - [2..33)::31 + MarkupTagBlock - [2..9)::7 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..9)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [9..25)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagBlock - [25..33)::8 - [] + MarkupTextLiteral - [25..27)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [27..28)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [28..33)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [33..34)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [34..34)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.stree.txt index 345239d4a..f25f69c17 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag5.stree.txt @@ -1,29 +1,33 @@ -Markup block - Gen - 17 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 17 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 14 - (2:0,2) - Tag block - Gen - 7 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (9:0,9) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (16:0,16) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..17)::17 - [@{}] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..17)::17 + CSharpStatement - [0..17)::17 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..17)::16 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..16)::14 + MarkupBlock - [2..16)::14 + MarkupTagBlock - [2..9)::7 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..9)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + MarkupTagBlock - [9..16)::7 - [] + MarkupTextLiteral - [9..16)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [16..16)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [16..17)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [17..17)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.stree.txt index 90ebfc8d6..d1f5b4305 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag6.stree.txt @@ -1,29 +1,33 @@ -Markup block - Gen - 17 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 17 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 14 - (2:0,2) - Tag block - Gen - 6 - (2:0,2) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (8:0,8) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (11:0,11) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (16:0,16) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..17)::17 - [@{}] + MarkupBlock - [0..17)::17 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..17)::17 + CSharpStatement - [0..17)::17 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..17)::16 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..16)::14 + MarkupBlock - [2..16)::14 + MarkupTagBlock - [2..8)::6 - [] + MarkupTransition - [2..8)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTagBlock - [8..16)::8 - [] + MarkupTextLiteral - [8..10)::2 - [ - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [11..16)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [16..16)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [16..17)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [17..17)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag7.stree.txt index 9feb97f15..0a1ea6c25 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag7.stree.txt @@ -1,34 +1,48 @@ -Markup block - Gen - 31 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 31 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 28 - (2:0,2) - Tag block - Gen - 7 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..31)::31 - [@{}] + MarkupBlock - [0..31)::31 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..31)::31 + CSharpStatement - [0..31)::31 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..31)::30 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..30)::28 + MarkupBlock - [2..30)::28 + MarkupTagBlock - [2..9)::7 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..9)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + MarkupTagHelperElement - [9..22)::13 - text[StartTagAndEndTag] - texttaghelper + MarkupTagHelperStartTag - [9..15)::6 + MarkupTextLiteral - [9..15)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [15..22)::7 + MarkupTextLiteral - [15..22)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + MarkupTagBlock - [22..30)::8 - [] + MarkupTextLiteral - [22..24)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [25..30)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [30..30)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [30..31)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [31..31)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.stree.txt index 4f4e21ac8..44eb53c51 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag8.stree.txt @@ -1,33 +1,39 @@ -Markup block - Gen - 24 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 24 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 22 - (2:0,2) - Tag block - Gen - 6 - (2:0,2) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 7 - (8:0,8) - Markup span - Gen - [<] - SpanEditHandler;Accepts:None - (8:0,8) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (15:0,15) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (17:0,17) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (18:0,18) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..24)::24 - [@{}] + MarkupBlock - [0..24)::24 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..24)::24 + CSharpStatement - [0..24)::24 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..24)::23 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..24)::22 + MarkupBlock - [2..24)::22 + MarkupTagBlock - [2..8)::6 - [] + MarkupTransition - [2..8)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTagBlock - [8..15)::7 - [] + MarkupTextLiteral - [8..9)::1 - [<] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + RazorMetaCode - [9..10)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [10..15)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + MarkupTagBlock - [15..23)::8 - [] + MarkupTextLiteral - [15..17)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [17..18)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [18..23)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [23..24)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [24..24)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.stree.txt index 8f47730c5..846d0090a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTHElementOptForCompleteTextTagInCSharpBlock_WithBlockTextTag9.stree.txt @@ -1,39 +1,43 @@ -Markup block - Gen - 25 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 25 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 15 - (2:0,2) - Tag block - Gen - 7 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (9:0,9) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (11:0,11) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text>] - SpanEditHandler;Accepts:None - (12:0,12) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup block - Gen - 7 - (17:0,17) - Tag block - Gen - 7 - (17:0,17) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (17:0,17) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..25)::25 - [@{}] + MarkupBlock - [0..25)::25 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..25)::25 + CSharpStatement - [0..25)::25 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..25)::24 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..24)::22 + MarkupBlock - [2..17)::15 + MarkupTagBlock - [2..9)::7 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..9)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + MarkupTagBlock - [9..17)::8 - [] + MarkupTextLiteral - [9..11)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [11..12)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [12..17)::5 - [text>] - Gen - SpanEditHandler;Accepts:None + Text;[text]; + CloseAngle;[>]; + MarkupBlock - [17..24)::7 + MarkupTagBlock - [17..24)::7 - [] + MarkupTextLiteral - [17..24)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [24..24)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [25..25)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML1.stree.txt index b852bc30e..61c1a03dc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML1.stree.txt @@ -1,4 +1,5 @@ -Markup block - Gen - 2 - (0:0,0) - Markup span - Gen - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Bang;[!]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML2.stree.txt index b95ea2835..52d9469e7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML2.stree.txt @@ -1,8 +1,9 @@ -Markup block - Gen - 3 - (0:0,0) - Tag block - Gen - 3 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; +RazorDocument - [0..3)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML3.stree.txt index 6896e1033..3a79c373e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML3.stree.txt @@ -1,10 +1,11 @@ -Markup block - Gen - 5 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p /] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:3 - SyntaxKind.Text;[p]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; +RazorDocument - [0..5)::5 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..5)::3 - [p /] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + Whitespace;[ ]; + ForwardSlash;[/]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML4.stree.txt index 06ba639ea..9208c63b1 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML4.stree.txt @@ -1,13 +1,15 @@ -Markup block - Gen - 10 - (0:0,0) - Tag block - Gen - 10 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 7 - (3:0,3) - Markup span - Gen - [ class=] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; +RazorDocument - [0..10)::10 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [3..10)::7 - [ class=] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML5.stree.txt index 935851bd7..0d4e13b18 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML5.stree.txt @@ -1,16 +1,21 @@ -Markup block - Gen - 14 - (0:0,0) - Tag block - Gen - 14 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..14)::14 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [3..14)::11 - [ class="btn] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [11..14)::3 + MarkupLiteralAttributeValue - [11..14)::3 - [btn] + MarkupTextLiteral - [11..14)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML6.stree.txt index ba08d7e85..4a49cc947 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML6.stree.txt @@ -1,18 +1,23 @@ -Markup block - Gen - 15 - (0:0,0) - Tag block - Gen - 15 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (3:0,3) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.DoubleQuote;["]; +RazorDocument - [0..15)::15 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [3..15)::12 - [ class="btn"] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [11..14)::3 + MarkupLiteralAttributeValue - [11..14)::3 - [btn] + MarkupTextLiteral - [11..14)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [14..15)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML7.stree.txt index 0a6811f4a..6c37a7d5c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTML7.stree.txt @@ -1,21 +1,26 @@ -Markup block - Gen - 17 - (0:0,0) - Tag block - Gen - 17 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (3:0,3) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [ /] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; +RazorDocument - [0..17)::17 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [3..15)::12 - [ class="btn"] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [11..14)::3 + MarkupLiteralAttributeValue - [11..14)::3 - [btn] + MarkupTextLiteral - [11..14)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [14..15)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [15..17)::2 - [ /] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.stree.txt index db03e1316..b8d82590b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock1.stree.txt @@ -1,16 +1,22 @@ -Markup block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 5 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 3 - (2:0,2) - Tag block - Gen - 3 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..5)::5 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..5)::5 + CSharpStatement - [0..5)::5 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..5)::4 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..5)::3 + MarkupBlock - [2..5)::3 + MarkupTagBlock - [2..5)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [5..5)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.stree.txt index 2778fc41f..5e474138d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock2.stree.txt @@ -1,16 +1,22 @@ -Markup block - Gen - 6 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 6 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 4 - (2:0,2) - Tag block - Gen - 4 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p}] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p}]; +RazorDocument - [0..6)::6 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..6)::6 + CSharpStatement - [0..6)::6 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..6)::5 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..6)::4 + MarkupBlock - [2..6)::4 + MarkupTagBlock - [2..6)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..6)::2 - [p}] - Gen - SpanEditHandler;Accepts:Any + Text;[p}]; + RazorMetaCode - [6..6)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.stree.txt index 7a92ce2da..34a66c67b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock3.stree.txt @@ -1,21 +1,27 @@ -Markup block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 8 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 6 - (2:0,2) - Tag block - Gen - 6 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p /] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:3 - SyntaxKind.Text;[p]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - Markup block - Gen - 1 - (7:0,7) - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..8)::8 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + CSharpStatement - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..8)::7 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..8)::6 + MarkupBlock - [2..8)::6 + MarkupTagBlock - [2..8)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..7)::3 - [p /] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + Whitespace;[ ]; + ForwardSlash;[/]; + MarkupMinimizedAttributeBlock - [7..8)::1 - [}] + MarkupTextLiteral - [7..8)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [8..8)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.stree.txt index 99565cb44..b417b1cec 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock4.stree.txt @@ -1,23 +1,32 @@ -Markup block - Gen - 13 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 13 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 11 - (2:0,2) - Tag block - Gen - 11 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 8 - (5:0,5) - Markup span - Gen - [ class=] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..13)::13 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..13)::13 + CSharpStatement - [0..13)::13 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..13)::12 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..13)::11 + MarkupBlock - [2..13)::11 + MarkupTagBlock - [2..13)::11 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..13)::8 - [ class=}] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + GenericBlock - [12..13)::1 + MarkupLiteralAttributeValue - [12..13)::1 - [}] + MarkupTextLiteral - [12..13)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [13..13)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.stree.txt index 8f20babae..4917b1dee 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock5.stree.txt @@ -1,24 +1,34 @@ -Markup block - Gen - 17 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 17 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 15 - (2:0,2) - Tag block - Gen - 15 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - [btn}] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Text;[btn}]; +RazorDocument - [0..17)::17 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..17)::17 + CSharpStatement - [0..17)::17 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..17)::16 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..17)::15 + MarkupBlock - [2..17)::15 + MarkupTagBlock - [2..17)::15 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..17)::12 - [ class="btn}] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [13..17)::4 + MarkupLiteralAttributeValue - [13..17)::4 - [btn}] + MarkupTextLiteral - [13..17)::4 - [btn}] - Gen - SpanEditHandler;Accepts:Any + Text;[btn}]; + RazorMetaCode - [17..17)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.stree.txt index 01ab2a148..65b84da2e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock6.stree.txt @@ -1,31 +1,42 @@ -Markup block - Gen - 19 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 19 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 17 - (2:0,2) - Tag block - Gen - 17 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup block - Gen - 2 - (16:0,16) - Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (16:0,16) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (17:0,17) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..19)::19 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..19)::19 + CSharpStatement - [0..19)::19 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..19)::18 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..19)::17 + MarkupBlock - [2..19)::17 + MarkupTagBlock - [2..19)::17 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..19)::14 - [ class="btn@@}] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [13..19)::6 + MarkupLiteralAttributeValue - [13..16)::3 - [btn] + MarkupTextLiteral - [13..16)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupBlock - [16..18)::2 + MarkupTextLiteral - [16..17)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupEphemeralTextLiteral - [17..18)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupLiteralAttributeValue - [18..19)::1 - [}] + MarkupTextLiteral - [18..19)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [19..19)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.stree.txt index 6ffeaac81..c3e2ac96b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock7.stree.txt @@ -1,29 +1,39 @@ -Markup block - Gen - 18 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 18 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 16 - (2:0,2) - Tag block - Gen - 16 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (5:0,5) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup block - Gen - 1 - (17:0,17) - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..18)::18 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..18)::18 + CSharpStatement - [0..18)::18 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..18)::17 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..18)::16 + MarkupBlock - [2..18)::16 + MarkupTagBlock - [2..18)::16 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..17)::12 - [ class="btn"] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [13..16)::3 + MarkupLiteralAttributeValue - [13..16)::3 - [btn] + MarkupTextLiteral - [13..16)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [16..17)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupMinimizedAttributeBlock - [17..18)::1 - [}] + MarkupTextLiteral - [17..18)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [18..18)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.stree.txt index 71a957170..26ffe4ab6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteHTMLInCSharpBlock8.stree.txt @@ -1,32 +1,42 @@ -Markup block - Gen - 20 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 20 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 18 - (2:0,2) - Tag block - Gen - 18 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (5:0,5) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [ /] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - Markup block - Gen - 1 - (19:0,19) - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..20)::20 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..20)::20 + CSharpStatement - [0..20)::20 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..20)::19 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..20)::18 + MarkupBlock - [2..20)::18 + MarkupTagBlock - [2..20)::18 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..17)::12 - [ class="btn"] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [13..16)::3 + MarkupLiteralAttributeValue - [13..16)::3 - [btn] + MarkupTextLiteral - [13..16)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [16..17)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [17..19)::2 - [ /] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + MarkupMinimizedAttributeBlock - [19..20)::1 - [}] + MarkupTextLiteral - [19..20)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [20..20)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.stree.txt index 4361281bb..bdbf9331b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock1.stree.txt @@ -1,16 +1,22 @@ -Markup block - Gen - 9 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 9 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 7 - (2:0,2) - Tag block - Gen - 7 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text}] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text}]; +RazorDocument - [0..9)::9 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..9)::9 + CSharpStatement - [0..9)::9 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..9)::8 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..9)::7 + MarkupBlock - [2..9)::7 + MarkupTagBlock - [2..9)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..9)::5 - [text}] - Gen - SpanEditHandler;Accepts:Any + Text;[text}]; + RazorMetaCode - [9..9)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.stree.txt index 38179386c..97ba0757a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock2.stree.txt @@ -1,21 +1,27 @@ -Markup block - Gen - 11 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 11 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 9 - (2:0,2) - Tag block - Gen - 9 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text /] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - Markup block - Gen - 1 - (10:0,10) - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..11)::11 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..11)::11 + CSharpStatement - [0..11)::11 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..11)::10 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..11)::9 + MarkupBlock - [2..11)::9 + MarkupTagBlock - [2..11)::9 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..10)::6 - [text /] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + Whitespace;[ ]; + ForwardSlash;[/]; + MarkupMinimizedAttributeBlock - [10..11)::1 - [}] + MarkupTextLiteral - [10..11)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [11..11)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.stree.txt index d04369b66..331006644 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock3.stree.txt @@ -1,23 +1,32 @@ -Markup block - Gen - 16 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 16 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 14 - (2:0,2) - Tag block - Gen - 14 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text]; - Markup block - Gen - 8 - (8:0,8) - Markup span - Gen - [ class=] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..16)::16 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..16)::16 + CSharpStatement - [0..16)::16 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..16)::15 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..16)::14 + MarkupBlock - [2..16)::14 + MarkupTagBlock - [2..16)::14 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..8)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupAttributeBlock - [8..16)::8 - [ class=}] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + GenericBlock - [15..16)::1 + MarkupLiteralAttributeValue - [15..16)::1 - [}] + MarkupTextLiteral - [15..16)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [16..16)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.stree.txt index a21322e32..cfb0682b6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock4.stree.txt @@ -1,24 +1,34 @@ -Markup block - Gen - 20 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 20 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 18 - (2:0,2) - Tag block - Gen - 18 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text]; - Markup block - Gen - [btn}] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[btn}]; +RazorDocument - [0..20)::20 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..20)::20 + CSharpStatement - [0..20)::20 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..20)::19 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..20)::18 + MarkupBlock - [2..20)::18 + MarkupTagBlock - [2..20)::18 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..8)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupAttributeBlock - [8..20)::12 - [ class="btn}] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [16..20)::4 + MarkupLiteralAttributeValue - [16..20)::4 - [btn}] + MarkupTextLiteral - [16..20)::4 - [btn}] - Gen - SpanEditHandler;Accepts:Any + Text;[btn}]; + RazorMetaCode - [20..20)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.stree.txt index f4490f882..72c4f51c2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock5.stree.txt @@ -1,29 +1,39 @@ -Markup block - Gen - 21 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 21 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 19 - (2:0,2) - Tag block - Gen - 19 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text]; - Markup block - Gen - 12 - (8:0,8) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup block - Gen - 1 - (20:0,20) - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..21)::21 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..21)::21 + CSharpStatement - [0..21)::21 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..21)::20 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..21)::19 + MarkupBlock - [2..21)::19 + MarkupTagBlock - [2..21)::19 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..8)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupAttributeBlock - [8..20)::12 - [ class="btn"] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupMinimizedAttributeBlock - [20..21)::1 - [}] + MarkupTextLiteral - [20..21)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [21..21)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.stree.txt index 21a5461c4..35141aa09 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptForIncompleteTextTagInCSharpBlock6.stree.txt @@ -1,32 +1,42 @@ -Markup block - Gen - 23 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 23 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 21 - (2:0,2) - Tag block - Gen - 21 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [text] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[text]; - Markup block - Gen - 12 - (8:0,8) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [ /] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - Markup block - Gen - 1 - (22:0,22) - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..23)::23 - [@{ - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..23)::23 + CSharpStatement - [0..23)::23 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..23)::22 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..23)::21 + MarkupBlock - [2..23)::21 + MarkupTagBlock - [2..23)::21 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..8)::4 - [text] - Gen - SpanEditHandler;Accepts:Any + Text;[text]; + MarkupAttributeBlock - [8..20)::12 - [ class="btn"] + MarkupTextLiteral - [8..9)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [9..14)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [16..19)::3 + MarkupLiteralAttributeValue - [16..19)::3 - [btn] + MarkupTextLiteral - [16..19)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [19..20)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [20..22)::2 - [ /] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + MarkupMinimizedAttributeBlock - [22..23)::1 - [}] + MarkupTextLiteral - [22..23)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [23..23)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData1.stree.txt index cb43adda8..726257ea8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData1.stree.txt @@ -1,30 +1,40 @@ -Markup block - Gen - 19 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 19 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 17 - (2:0,2) - Tag block - Gen - 16 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (5:0,5) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (17:0,17) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..19)::19 - [@{}] + MarkupBlock - [0..19)::19 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..19)::19 + CSharpStatement - [0..19)::19 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..19)::18 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..19)::17 + MarkupBlock - [2..19)::17 + MarkupTagBlock - [2..18)::16 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..17)::12 - [ class="btn"] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [13..16)::3 + MarkupLiteralAttributeValue - [13..16)::3 - [btn] + MarkupTextLiteral - [13..16)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [16..17)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [17..18)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTextLiteral - [18..19)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [19..19)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData2.stree.txt index 5fce9ea8c..ec8de2b66 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData2.stree.txt @@ -1,43 +1,51 @@ -Markup block - Gen - 24 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 24 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 21 - (2:0,2) - Tag block - Gen - 16 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (5:0,5) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (17:0,17) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (18:0,18) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..24)::24 - [@{}] + MarkupBlock - [0..24)::24 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..24)::24 + CSharpStatement - [0..24)::24 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..24)::23 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..23)::21 + MarkupBlock - [2..23)::21 + MarkupTagBlock - [2..18)::16 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..17)::12 - [ class="btn"] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [13..16)::3 + MarkupLiteralAttributeValue - [13..16)::3 - [btn] + MarkupTextLiteral - [13..16)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [16..17)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [17..18)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagBlock - [18..23)::5 - [] + MarkupTextLiteral - [18..20)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [20..21)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [21..23)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [23..23)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [23..24)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [24..24)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData3.stree.txt index f29b08f89..70c21e5b7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData3.stree.txt @@ -1,49 +1,57 @@ -Markup block - Gen - 41 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 41 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 38 - (2:0,2) - Tag block - Gen - 16 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (5:0,5) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (17:0,17) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [words with spaces] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[with]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; - Tag block - Gen - 5 - (35:0,35) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (38:0,38) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (40:0,40) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..41)::41 - [@{words with spaces}] + MarkupBlock - [0..41)::41 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..41)::41 + CSharpStatement - [0..41)::41 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..41)::40 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..40)::38 + MarkupBlock - [2..40)::38 + MarkupTagBlock - [2..18)::16 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..17)::12 - [ class="btn"] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [13..16)::3 + MarkupLiteralAttributeValue - [13..16)::3 - [btn] + MarkupTextLiteral - [13..16)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [16..17)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [17..18)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTextLiteral - [18..35)::17 - [words with spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[with]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagBlock - [35..40)::5 - [] + MarkupTextLiteral - [35..37)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [37..38)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [38..40)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [40..40)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [40..41)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [41..41)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData4.stree.txt index 1bf92e47d..daf373042 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData4.stree.txt @@ -1,53 +1,66 @@ -Markup block - Gen - 41 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 41 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 38 - (2:0,2) - Tag block - Gen - 33 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 18 - (5:0,5) - Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Text;[btn1]; - Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[btn2]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup block - Gen - 11 - (23:0,23) - Markup span - Gen - [ class2=] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class2]; - SyntaxKind.Equals;[=]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (34:0,34) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (35:0,35) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (38:0,38) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (40:0,40) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..41)::41 - [@{}] + MarkupBlock - [0..41)::41 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..41)::41 + CSharpStatement - [0..41)::41 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..41)::40 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..40)::38 + MarkupBlock - [2..40)::38 + MarkupTagBlock - [2..35)::33 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..23)::18 - [ class='btn1 btn2'] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + GenericBlock - [13..22)::9 + MarkupLiteralAttributeValue - [13..17)::4 - [btn1] + MarkupTextLiteral - [13..17)::4 - [btn1] - Gen - SpanEditHandler;Accepts:Any + Text;[btn1]; + MarkupLiteralAttributeValue - [17..22)::5 - [ btn2] + MarkupTextLiteral - [17..18)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [18..22)::4 - [btn2] - Gen - SpanEditHandler;Accepts:Any + Text;[btn2]; + MarkupTextLiteral - [22..23)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupAttributeBlock - [23..34)::11 - [ class2=btn] + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [24..30)::6 - [class2] - Gen - SpanEditHandler;Accepts:Any + Text;[class2]; + Equals;[=]; + GenericBlock - [31..34)::3 + MarkupLiteralAttributeValue - [31..34)::3 - [btn] + MarkupTextLiteral - [31..34)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [34..35)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagBlock - [35..40)::5 - [] + MarkupTextLiteral - [35..37)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [37..38)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [38..40)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [40..40)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [40..41)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [41..41)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData5.stree.txt index 21f9fa95b..025747eb0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithAttributeData5.stree.txt @@ -1,56 +1,70 @@ -Markup block - Gen - 44 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 44 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 41 - (2:0,2) - Tag block - Gen - 36 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 32 - (5:0,5) - Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Text;[btn1]; - Markup block - Gen - 14 - (17:0,17) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (18:0,18) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (18:0,18) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (19:0,19) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[btn2]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (38:0,38) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (41:0,41) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (43:0,43) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (43:0,43) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (44:0,44) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..44)::44 - [@{}] + MarkupBlock - [0..44)::44 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..44)::44 + CSharpStatement - [0..44)::44 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..44)::43 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..43)::41 + MarkupBlock - [2..43)::41 + MarkupTagBlock - [2..38)::36 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..5)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [5..37)::32 - [ class='btn1 @DateTime.Now btn2'] + MarkupTextLiteral - [5..6)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [6..11)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [12..13)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + GenericBlock - [13..36)::23 + MarkupLiteralAttributeValue - [13..17)::4 - [btn1] + MarkupTextLiteral - [13..17)::4 - [btn1] - Gen - SpanEditHandler;Accepts:Any + Text;[btn1]; + MarkupDynamicAttributeValue - [17..31)::14 - [ @DateTime.Now] + MarkupTextLiteral - [17..18)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + GenericBlock - [18..31)::13 + CSharpCodeBlock - [18..31)::13 + CSharpImplicitExpression - [18..31)::13 + CSharpTransition - [18..19)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [19..31)::12 + CSharpCodeBlock - [19..31)::12 + CSharpExpressionLiteral - [19..31)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [31..36)::5 - [ btn2] + MarkupTextLiteral - [31..32)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [32..36)::4 - [btn2] - Gen - SpanEditHandler;Accepts:Any + Text;[btn2]; + MarkupTextLiteral - [36..37)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [37..38)::1 - [>] - Gen - SpanEditHandler;Accepts:None + CloseAngle;[>]; + MarkupTagBlock - [38..43)::5 - [] + MarkupTextLiteral - [38..40)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [40..41)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [41..43)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [43..43)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [43..44)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [44..44)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData1.stree.txt index 5fb494235..50b192a1b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData1.stree.txt @@ -1,19 +1,25 @@ -Markup block - Gen - 7 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 7 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 5 - (2:0,2) - Tag block - Gen - 4 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (6:0,6) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..7)::7 - [@{}] + MarkupBlock - [0..7)::7 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..7)::7 + CSharpStatement - [0..7)::7 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..7)::6 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..7)::5 + MarkupBlock - [2..7)::5 + MarkupTagBlock - [2..6)::4 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..6)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [6..7)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [7..7)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData10.stree.txt index af2417dd0..1618647cb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData10.stree.txt @@ -1,33 +1,41 @@ -Markup block - Gen - 25 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 25 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (13:0,13) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Markup block - Gen - 9 - (15:0,15) - Tag block - Gen - 9 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..25)::25 - [@{}] + MarkupBlock - [0..25)::25 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..25)::25 + CSharpStatement - [0..25)::25 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..25)::24 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..24)::22 + MarkupBlock - [2..15)::13 + MarkupTagHelperElement - [2..15)::13 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [2..10)::8 + MarkupTextLiteral - [2..10)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [10..15)::5 - [] + MarkupTextLiteral - [10..12)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [12..13)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [13..15)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupBlock - [15..24)::9 + MarkupTagBlock - [15..24)::9 - [] + MarkupTextLiteral - [15..24)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + CSharpStatementLiteral - [24..24)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [25..25)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData11.stree.txt index 71809b696..687be1c9a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData11.stree.txt @@ -1,35 +1,49 @@ -Markup block - Gen - 29 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 29 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (23:0,23) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (28:0,28) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (28:0,28) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..29)::29 - [@{}] + MarkupBlock - [0..29)::29 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..29)::29 + CSharpStatement - [0..29)::29 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..29)::28 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..28)::26 + MarkupBlock - [2..19)::17 + MarkupTagHelperElement - [2..19)::17 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [2..10)::8 + MarkupTextLiteral - [2..10)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [10..19)::9 + MarkupTextLiteral - [10..19)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupBlock - [19..28)::9 + MarkupTagBlock - [19..23)::4 - [] + MarkupTextLiteral - [19..20)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [20..21)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [21..23)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [23..28)::5 - [] + MarkupTextLiteral - [23..25)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [25..26)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [26..28)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [28..28)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [28..29)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [29..29)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData12.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData12.stree.txt index 179751088..9794d1274 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData12.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData12.stree.txt @@ -1,53 +1,65 @@ -Markup block - Gen - 42 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 42 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [strong>] - SpanEditHandler;Accepts:None - (16:0,16) - Tokens:2 - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Markup block - Gen - 13 - (23:0,23) - Tag block - Gen - 4 - (23:0,23) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (27:0,27) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Markup block - Gen - 5 - (36:0,36) - Tag block - Gen - 5 - (36:0,36) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (38:0,38) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (39:0,39) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (41:0,41) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..42)::42 - [@{

        }] + MarkupBlock - [0..42)::42 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..42)::42 + CSharpStatement - [0..42)::42 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..42)::41 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..41)::39 + MarkupBlock - [2..23)::21 + MarkupTagHelperElement - [2..23)::21 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [2..5)::3 + MarkupTextLiteral - [2..5)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [5..23)::18 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [5..13)::8 + MarkupTextLiteral - [5..13)::8 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [13..23)::10 - [] + MarkupTextLiteral - [13..15)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [15..16)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [16..23)::7 - [strong>] - Gen - SpanEditHandler;Accepts:None + Text;[strong]; + CloseAngle;[>]; + MarkupBlock - [23..36)::13 + MarkupTagBlock - [23..27)::4 - [] + MarkupTextLiteral - [23..24)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [25..27)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [27..36)::9 - [] + MarkupTextLiteral - [27..36)::9 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupBlock - [36..41)::5 + MarkupTagBlock - [36..41)::5 - [] + MarkupTextLiteral - [36..38)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [38..39)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [39..41)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [41..41)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [41..42)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [42..42)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData2.stree.txt index 8da34473c..b77794b95 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData2.stree.txt @@ -1,24 +1,28 @@ -Markup block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 8 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 5 - (2:0,2) - Tag block - Gen - 5 - (2:0,2) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (7:0,7) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..8)::8 - [@{}] + MarkupBlock - [0..8)::8 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..8)::8 + CSharpStatement - [0..8)::8 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..8)::7 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..7)::5 + MarkupBlock - [2..7)::5 + MarkupTagBlock - [2..7)::5 - [] + MarkupTextLiteral - [2..4)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [5..7)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [7..7)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [7..8)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [8..8)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData3.stree.txt index 55b5fdda0..c8c84f649 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData3.stree.txt @@ -1,32 +1,36 @@ -Markup block - Gen - 12 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 12 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 9 - (2:0,2) - Tag block - Gen - 4 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (6:0,6) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (8:0,8) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (11:0,11) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..12)::12 - [@{}] + MarkupBlock - [0..12)::12 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..12)::12 + CSharpStatement - [0..12)::12 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..12)::11 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..11)::9 + MarkupBlock - [2..11)::9 + MarkupTagBlock - [2..6)::4 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..6)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [6..11)::5 - [] + MarkupTextLiteral - [6..8)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [8..9)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [9..11)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [11..11)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [11..12)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [12..12)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData4.stree.txt index 3fc4a59ce..bf95348d7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData4.stree.txt @@ -1,38 +1,42 @@ -Markup block - Gen - 28 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 28 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 25 - (2:0,2) - Tag block - Gen - 4 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [words and spaces] - SpanEditHandler;Accepts:Any - (6:0,6) - Tokens:5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; - Tag block - Gen - 5 - (22:0,22) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (28:0,28) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..28)::28 - [@{words and spaces}] + MarkupBlock - [0..28)::28 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..28)::28 + CSharpStatement - [0..28)::28 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..28)::27 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..27)::25 + MarkupBlock - [2..27)::25 + MarkupTagBlock - [2..6)::4 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..6)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [6..22)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagBlock - [22..27)::5 - [] + MarkupTextLiteral - [22..24)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [24..25)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [25..27)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [27..27)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [27..28)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [28..28)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData5.stree.txt index dd0672684..dc8aabd04 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData5.stree.txt @@ -1,29 +1,33 @@ -Markup block - Gen - 11 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 11 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 8 - (2:0,2) - Tag block - Gen - 4 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 4 - (6:0,6) - Markup span - Gen - [

        ] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..11)::11 - [@{

        }] + MarkupBlock - [0..11)::11 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..11)::11 + CSharpStatement - [0..11)::11 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..11)::10 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..10)::8 + MarkupBlock - [2..10)::8 + MarkupTagBlock - [2..6)::4 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..6)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [6..10)::4 - [

        ] + MarkupTextLiteral - [6..10)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [10..10)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [11..11)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData6.stree.txt index 5a7fdfc9a..530c8a0c5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData6.stree.txt @@ -1,26 +1,34 @@ -Markup block - Gen - 11 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 11 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (8:0,8) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (10:0,10) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..11)::11 - [@{

        }] + MarkupBlock - [0..11)::11 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..11)::11 + CSharpStatement - [0..11)::11 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..11)::10 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..10)::8 + MarkupBlock - [2..10)::8 + MarkupTagHelperElement - [2..10)::8 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [2..5)::3 + MarkupTextLiteral - [2..5)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [5..10)::5 - [] + MarkupTextLiteral - [5..7)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [7..8)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [8..10)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [10..10)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [11..11)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData7.stree.txt index cbb233dcb..c278e5816 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData7.stree.txt @@ -1,34 +1,48 @@ -Markup block - Gen - 19 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 19 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (7:0,7) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (9:0,9) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (11:0,11) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (12:0,12) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (18:0,18) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..19)::19 - [@{

        }] + MarkupBlock - [0..19)::19 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..19)::19 + CSharpStatement - [0..19)::19 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..19)::18 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..18)::16 + MarkupBlock - [2..18)::16 + MarkupTagHelperElement - [2..18)::16 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [2..5)::3 + MarkupTextLiteral - [2..5)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [5..9)::4 - [] + MarkupTextLiteral - [5..6)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [6..7)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [7..9)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [9..14)::5 - [] + MarkupTextLiteral - [9..11)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [11..12)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [12..14)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [14..18)::4 + MarkupTextLiteral - [14..18)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [18..18)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [18..19)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [19..19)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData8.stree.txt index ccaf54362..2a1f08d6e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData8.stree.txt @@ -1,30 +1,40 @@ -Markup block - Gen - 15 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 15 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (7:0,7) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (9:0,9) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (11:0,11) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (12:0,12) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.Text;[}]; +RazorDocument - [0..15)::15 - [@{

        }] + MarkupBlock - [0..15)::15 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..15)::15 + CSharpStatement - [0..15)::15 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..15)::14 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..15)::13 + MarkupBlock - [2..15)::13 + MarkupTagHelperElement - [2..15)::13 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [2..5)::3 + MarkupTextLiteral - [2..5)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [5..9)::4 - [] + MarkupTextLiteral - [5..6)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [6..7)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [7..9)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [9..14)::5 - [] + MarkupTextLiteral - [9..11)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [11..12)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [12..14)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [14..15)::1 - [}] - Gen - SpanEditHandler;Accepts:Any + Text;[}]; + RazorMetaCode - [15..15)::0 - Gen - SpanEditHandler;Accepts:Any + RightBrace;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData9.stree.txt index 869d294fe..334df5c46 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutCSharp_WithBlockData9.stree.txt @@ -1,39 +1,43 @@ -Markup block - Gen - 16 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 16 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 9 - (2:0,2) - Tag block - Gen - 4 - (2:0,2) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (3:0,3) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (6:0,6) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (8:0,8) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Markup block - Gen - 4 - (11:0,11) - Tag block - Gen - 4 - (11:0,11) - Markup span - Gen - [

        ] - SpanEditHandler;Accepts:None - (11:0,11) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..16)::16 - [@{

        }] + MarkupBlock - [0..16)::16 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..16)::16 + CSharpStatement - [0..16)::16 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..16)::15 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..15)::13 + MarkupBlock - [2..11)::9 + MarkupTagBlock - [2..6)::4 - [] + MarkupTextLiteral - [2..3)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [3..4)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [4..6)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [6..11)::5 - [] + MarkupTextLiteral - [6..8)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [8..9)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [9..11)::2 - [p>] - Gen - SpanEditHandler;Accepts:None + Text;[p]; + CloseAngle;[>]; + MarkupBlock - [11..15)::4 + MarkupTagBlock - [11..15)::4 - [

        ] + MarkupTextLiteral - [11..15)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [15..15)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [15..16)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [16..16)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData1.stree.txt index db31725b1..7036ebb7e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData1.stree.txt @@ -1,20 +1,25 @@ -Markup block - Gen - 16 - (0:0,0) - Tag block - Gen - 16 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (3:0,3) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..16)::16 - [] + MarkupBlock - [0..16)::16 + MarkupTagBlock - [0..16)::16 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [3..15)::12 - [ class="btn"] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [11..14)::3 + MarkupLiteralAttributeValue - [11..14)::3 - [btn] + MarkupTextLiteral - [11..14)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [14..15)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [15..16)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData2.stree.txt index 7e4a56068..c7c25082e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData2.stree.txt @@ -1,29 +1,34 @@ -Markup block - Gen - 21 - (0:0,0) - Tag block - Gen - 16 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (3:0,3) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (16:0,16) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (18:0,18) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..21)::21 - [] + MarkupBlock - [0..21)::21 + MarkupTagBlock - [0..16)::16 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [3..15)::12 - [ class="btn"] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [11..14)::3 + MarkupLiteralAttributeValue - [11..14)::3 - [btn] + MarkupTextLiteral - [11..14)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [14..15)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [15..16)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [16..21)::5 - [] + MarkupTextLiteral - [16..18)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [18..19)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [19..21)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData3.stree.txt index 1287d4471..b9a298b12 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData3.stree.txt @@ -1,36 +1,40 @@ -Markup block - Gen - 37 - (0:0,0) - Tag block - Gen - 16 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 12 - (3:0,3) - Markup span - Gen - [ class="] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [16..32) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [16..32) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; - Tag block - Gen - 5 - (32:0,32) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (34:0,34) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..37)::37 - [words and spaces] + MarkupBlock - [0..37)::37 + MarkupTagBlock - [0..16)::16 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [3..15)::12 - [ class="btn"] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [11..14)::3 + MarkupLiteralAttributeValue - [11..14)::3 - [btn] + MarkupTextLiteral - [11..14)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [14..15)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [15..16)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [16..32)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagBlock - [32..37)::5 - [] + MarkupTextLiteral - [32..34)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [34..35)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [35..37)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData4.stree.txt index 76659fc91..d2f267594 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData4.stree.txt @@ -1,39 +1,49 @@ -Markup block - Gen - 38 - (0:0,0) - Tag block - Gen - 33 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 18 - (3:0,3) - Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Text;[btn1]; - Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[btn2]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup block - Gen - 11 - (21:0,21) - Markup span - Gen - [ class2=] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class2]; - SyntaxKind.Equals;[=]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (33:0,33) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (35:0,35) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..38)::38 - [] + MarkupBlock - [0..38)::38 + MarkupTagBlock - [0..33)::33 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [3..21)::18 - [ class='btn1 btn2'] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + GenericBlock - [11..20)::9 + MarkupLiteralAttributeValue - [11..15)::4 - [btn1] + MarkupTextLiteral - [11..15)::4 - [btn1] - Gen - SpanEditHandler;Accepts:Any + Text;[btn1]; + MarkupLiteralAttributeValue - [15..20)::5 - [ btn2] + MarkupTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [16..20)::4 - [btn2] - Gen - SpanEditHandler;Accepts:Any + Text;[btn2]; + MarkupTextLiteral - [20..21)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupAttributeBlock - [21..32)::11 - [ class2=btn] + MarkupTextLiteral - [21..22)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [22..28)::6 - [class2] - Gen - SpanEditHandler;Accepts:Any + Text;[class2]; + Equals;[=]; + GenericBlock - [29..32)::3 + MarkupLiteralAttributeValue - [29..32)::3 - [btn] + MarkupTextLiteral - [29..32)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [32..33)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [33..38)::5 - [] + MarkupTextLiteral - [33..35)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [35..36)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [36..38)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData5.stree.txt index 984a6d0f7..b3856ca50 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithAttributeData5.stree.txt @@ -1,42 +1,53 @@ -Markup block - Gen - 41 - (0:0,0) - Tag block - Gen - 36 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1 - SyntaxKind.Text;[p]; - Markup block - Gen - 32 - (3:0,3) - Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [btn1] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:1 - SyntaxKind.Text;[btn1]; - Markup block - Gen - 14 - (15:0,15) - Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 13 - (16:0,16) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (16:0,16) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (17:0,17) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - Markup span - Gen - [ btn2] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[btn2]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (36:0,36) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (38:0,38) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (39:0,39) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..41)::41 - [] + MarkupBlock - [0..41)::41 + MarkupTagBlock - [0..36)::36 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..3)::1 - [p] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + MarkupAttributeBlock - [3..35)::32 - [ class='btn1 @DateTime.Now btn2'] + MarkupTextLiteral - [3..4)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [4..9)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [10..11)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + GenericBlock - [11..34)::23 + MarkupLiteralAttributeValue - [11..15)::4 - [btn1] + MarkupTextLiteral - [11..15)::4 - [btn1] - Gen - SpanEditHandler;Accepts:Any + Text;[btn1]; + MarkupDynamicAttributeValue - [15..29)::14 - [ @DateTime.Now] + MarkupTextLiteral - [15..16)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + GenericBlock - [16..29)::13 + CSharpCodeBlock - [16..29)::13 + CSharpImplicitExpression - [16..29)::13 + CSharpTransition - [16..17)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [17..29)::12 + CSharpCodeBlock - [17..29)::12 + CSharpExpressionLiteral - [17..29)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupLiteralAttributeValue - [29..34)::5 - [ btn2] + MarkupTextLiteral - [29..30)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [30..34)::4 - [btn2] - Gen - SpanEditHandler;Accepts:Any + Text;[btn2]; + MarkupTextLiteral - [34..35)::1 - ['] - Gen - SpanEditHandler;Accepts:Any + SingleQuote;[']; + MarkupTextLiteral - [35..36)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [36..41)::5 - [] + MarkupTextLiteral - [36..38)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [38..39)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [39..41)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData1.stree.txt index 1954422f0..acb1f0a40 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData1.stree.txt @@ -1,9 +1,10 @@ -Markup block - Gen - 4 - (0:0,0) - Tag block - Gen - 4 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..4)::4 - [] + MarkupBlock - [0..4)::4 + MarkupTagBlock - [0..4)::4 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..4)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData10.stree.txt index fa747175c..37731b876 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData10.stree.txt @@ -1,12 +1,23 @@ -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) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..22)::22 - [] + MarkupBlock - [0..22)::22 + MarkupTagHelperElement - [0..22)::22 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [0..8)::8 + MarkupTextLiteral - [0..8)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [8..13)::5 - [] + MarkupTextLiteral - [8..10)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [11..13)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [13..22)::9 + MarkupTextLiteral - [13..22)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData11.stree.txt index c97b9042a..7852dcdd4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData11.stree.txt @@ -1,20 +1,31 @@ -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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (18:0,18) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (21:0,21) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..26)::26 - [] + MarkupBlock - [0..26)::26 + MarkupTagHelperElement - [0..17)::17 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [0..8)::8 + MarkupTextLiteral - [0..8)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [8..17)::9 + MarkupTextLiteral - [8..17)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [17..21)::4 - [] + MarkupTextLiteral - [17..18)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [18..19)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [19..21)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [21..26)::5 - [] + MarkupTextLiteral - [21..23)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [23..24)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [24..26)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData12.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData12.stree.txt index 5496bb002..b246c4a31 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData12.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData12.stree.txt @@ -1,31 +1,46 @@ -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) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [strong>] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:2 - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 4 - (21:0,21) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (34:0,34) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (36:0,36) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (37:0,37) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..39)::39 - [

        ] + MarkupBlock - [0..39)::39 + MarkupTagHelperElement - [0..39)::39 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..34)::31 - strong[StartTagAndEndTag] - strongtaghelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [11..21)::10 - [] + MarkupTextLiteral - [11..13)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [13..14)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [14..21)::7 - [strong>] - Gen - SpanEditHandler;Accepts:Any + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [21..25)::4 - [] + MarkupTextLiteral - [21..22)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [22..23)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [23..25)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [25..34)::9 + MarkupTextLiteral - [25..34)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [34..39)::5 - [] + MarkupTextLiteral - [34..36)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [36..37)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [37..39)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData2.stree.txt index 57b448f28..504c231e5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData2.stree.txt @@ -1,10 +1,11 @@ -Markup block - Gen - 5 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..5)::5 - [] + MarkupBlock - [0..5)::5 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [2..3)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [3..5)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData3.stree.txt index a7ec91ed2..c5f2ee2fb 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData3.stree.txt @@ -1,18 +1,19 @@ -Markup block - Gen - 9 - (0:0,0) - Tag block - Gen - 4 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (4:0,4) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..9)::9 - [] + MarkupBlock - [0..9)::9 + MarkupTagBlock - [0..4)::4 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..4)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [4..9)::5 - [] + MarkupTextLiteral - [4..6)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [6..7)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [7..9)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData4.stree.txt index 9e09446fd..fe05aa041 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData4.stree.txt @@ -1,25 +1,25 @@ -Markup block - Gen - 25 - (0:0,0) - Tag block - Gen - 4 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [4..20) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [4..20) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; - Tag block - Gen - 5 - (20:0,20) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..25)::25 - [words and spaces] + MarkupBlock - [0..25)::25 + MarkupTagBlock - [0..4)::4 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..4)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [4..20)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagBlock - [20..25)::5 - [] + MarkupTextLiteral - [20..22)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [22..23)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [23..25)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData5.stree.txt index f023d05b9..b2ba2a2b2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData5.stree.txt @@ -1,15 +1,16 @@ -Markup block - Gen - 8 - (0:0,0) - Tag block - Gen - 4 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 4 - (4:0,4) - Markup span - Gen - [

        ] - SpanEditHandler;Accepts:Any - (4:0,4) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..8)::8 - [

        ] + MarkupBlock - [0..8)::8 + MarkupTagBlock - [0..4)::4 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..4)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [4..8)::4 - [

        ] + MarkupTextLiteral - [4..8)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData6.stree.txt index 3b9cf7813..2dd48d43c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData6.stree.txt @@ -1,12 +1,17 @@ -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) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (6:0,6) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..8)::8 - [

        ] + MarkupBlock - [0..8)::8 + MarkupTagHelperElement - [0..8)::8 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..8)::5 - [] + MarkupTextLiteral - [3..5)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [5..6)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [6..8)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData7.stree.txt index 6d70a7544..cdd50c028 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData7.stree.txt @@ -1,20 +1,31 @@ -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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (7:0,7) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..16)::16 - [

        ] + MarkupBlock - [0..16)::16 + MarkupTagHelperElement - [0..16)::16 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..7)::4 - [] + MarkupTextLiteral - [3..4)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [5..7)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [7..12)::5 - [] + MarkupTextLiteral - [7..9)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [9..10)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [10..12)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [12..16)::4 + MarkupTextLiteral - [12..16)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData8.stree.txt index fa672e3ea..187d7fbe9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData8.stree.txt @@ -1,20 +1,25 @@ -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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (4:0,4) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (7:0,7) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (9:0,9) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..12)::12 - [

        ] + MarkupBlock - [0..12)::12 + MarkupTagHelperElement - [0..12)::12 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..7)::4 - [] + MarkupTextLiteral - [3..4)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [4..5)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [5..7)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [7..12)::5 - [] + MarkupTextLiteral - [7..9)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [9..10)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [10..12)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData9.stree.txt index aa0b8186e..06cd6f933 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/AllowsTagHelperElementOptOutHTML_WithBlockData9.stree.txt @@ -1,24 +1,25 @@ -Markup block - Gen - 13 - (0:0,0) - Tag block - Gen - 4 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - MetaCode span - Gen - [!] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 5 - (4:0,4) - Markup span - Gen - [ - [!] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:1 - SyntaxKind.Bang;[!]; - Markup span - Gen - [p>] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:2 - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 4 - (9:0,9) - Markup span - Gen - [

        ] - SpanEditHandler;Accepts:Any - (9:0,9) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..13)::13 - [

        ] + MarkupBlock - [0..13)::13 + MarkupTagBlock - [0..4)::4 - [] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [2..4)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [4..9)::5 - [] + MarkupTextLiteral - [4..6)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + RazorMetaCode - [6..7)::1 - Gen - SpanEditHandler;Accepts:None + Bang;[!]; + MarkupTextLiteral - [7..9)::2 - [p>] - Gen - SpanEditHandler;Accepts:Any + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [9..13)::4 - [

        ] + MarkupTextLiteral - [9..13)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleInvalidChildrenWithWhitespace.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleInvalidChildrenWithWhitespace.stree.txt index f6b647258..af792a8cc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleInvalidChildrenWithWhitespace.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleInvalidChildrenWithWhitespace.stree.txt @@ -1,27 +1,36 @@ -Markup block - Gen - 53 - (0:0,0) - Tag block - Gen - 53 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [LF ] - [3..9) - FullWidth: 6 - Slots: 1 - SyntaxKind.List - [LF ] - [3..9) - FullWidth: 6 - Slots: 2 - SyntaxKind.NewLine;[LF]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 8 - (9:1,4) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (9:1,4) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [LF HelloLF ] - [17..38) - FullWidth: 21 - Slots: 1 - SyntaxKind.List - [LF HelloLF ] - [17..38) - FullWidth: 21 - Slots: 5 - SyntaxKind.NewLine;[LF]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Hello]; - SyntaxKind.NewLine;[LF]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 9 - (38:3,4) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (38:3,4) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [LF] - [47..49) - FullWidth: 2 - Slots: 1 - SyntaxKind.NewLine;[LF]; +RazorDocument - [0..53)::53 - [

        LF LF HelloLF LF

        ] + MarkupBlock - [0..53)::53 + MarkupTagHelperElement - [0..53)::53 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..9)::6 - [LF ] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + MarkupTagBlock - [9..17)::8 - [] + MarkupTextLiteral - [9..17)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [17..38)::21 - [LF HelloLF ] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + Whitespace;[ ]; + Text;[Hello]; + NewLine;[LF]; + Whitespace;[ ]; + MarkupTagBlock - [38..47)::9 - [] + MarkupTextLiteral - [38..47)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [47..49)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagHelperEndTag - [49..53)::4 + MarkupTextLiteral - [49..53)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleMultipleTagHelpersWithAllowedChildren.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleMultipleTagHelpersWithAllowedChildren.stree.txt index 895fbe361..2fa4f737a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleMultipleTagHelpersWithAllowedChildren.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleMultipleTagHelpersWithAllowedChildren.stree.txt @@ -1,12 +1,36 @@ -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 - ... - SyntaxKind.HtmlTextLiteral - [Hello World] - [11..22) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [11..22) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - Tag block - Gen - 4 - (31:0,31) - br - BRTagHelper - StartTagOnly -
        +RazorDocument - [0..39)::39 - [

        Hello World

        ] + MarkupBlock - [0..39)::39 + MarkupTagHelperElement - [0..39)::39 - p[StartTagAndEndTag] - PTagHelper1 - PTagHelper2 + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..31)::28 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [11..22)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [22..31)::9 + MarkupTextLiteral - [22..31)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperElement - [31..35)::4 - br[StartTagOnly] - BRTagHelper + MarkupTagHelperStartTag - [31..35)::4 + MarkupTextLiteral - [31..35)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [35..39)::4 + MarkupTextLiteral - [35..39)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleMultipleTagHelpersWithAllowedChildren_OneNull.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleMultipleTagHelpersWithAllowedChildren_OneNull.stree.txt index 895fbe361..2fa4f737a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleMultipleTagHelpersWithAllowedChildren_OneNull.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleMultipleTagHelpersWithAllowedChildren_OneNull.stree.txt @@ -1,12 +1,36 @@ -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 - ... - SyntaxKind.HtmlTextLiteral - [Hello World] - [11..22) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [11..22) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - Tag block - Gen - 4 - (31:0,31) - br - BRTagHelper - StartTagOnly -
        +RazorDocument - [0..39)::39 - [

        Hello World

        ] + MarkupBlock - [0..39)::39 + MarkupTagHelperElement - [0..39)::39 - p[StartTagAndEndTag] - PTagHelper1 - PTagHelper2 + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..31)::28 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [11..22)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [22..31)::9 + MarkupTextLiteral - [22..31)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperElement - [31..35)::4 - br[StartTagOnly] - BRTagHelper + MarkupTagHelperStartTag - [31..35)::4 + MarkupTextLiteral - [31..35)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [35..39)::4 + MarkupTextLiteral - [35..39)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleStartTagOnlyTagTagMode.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleStartTagOnlyTagTagMode.stree.txt index 64f951bb8..764c76b22 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleStartTagOnlyTagTagMode.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CanHandleStartTagOnlyTagTagMode.stree.txt @@ -1,3 +1,8 @@ -Markup block - Gen - 7 - (0:0,0) - Tag block - Gen - 7 - (0:0,0) - input - InputTagHelper - StartTagOnly - +RazorDocument - [0..7)::7 - [] + MarkupBlock - [0..7)::7 + MarkupTagHelperElement - [0..7)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [0..7)::7 + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CreatesErrorForInconsistentTagStructures.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CreatesErrorForInconsistentTagStructures.stree.txt index ce48d3462..f75dab8e9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CreatesErrorForInconsistentTagStructures.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CreatesErrorForInconsistentTagStructures.stree.txt @@ -1,3 +1,8 @@ -Markup block - Gen - 7 - (0:0,0) - Tag block - Gen - 7 - (0:0,0) - input - InputTagHelper1 - InputTagHelper2 - StartTagOnly - +RazorDocument - [0..7)::7 - [] + MarkupBlock - [0..7)::7 + MarkupTagHelperElement - [0..7)::7 - input[StartTagOnly] - InputTagHelper1 - InputTagHelper2 + MarkupTagHelperStartTag - [0..7)::7 + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CreatesErrorForWithoutEndTagTagStructureForEndTags.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CreatesErrorForWithoutEndTagTagStructureForEndTags.stree.txt index ccdf6fa94..bbad7a51e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CreatesErrorForWithoutEndTagTagStructureForEndTags.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/CreatesErrorForWithoutEndTagTagStructureForEndTags.stree.txt @@ -1,7 +1,8 @@ -Markup block - Gen - 8 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[input]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..8)::8 - [] + MarkupBlock - [0..8)::8 + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [0..8)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[input]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers1.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers1.diag.txt new file mode 100644 index 000000000..67536937c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers1.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3008: Tag helpers cannot target tag name '!--' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '?xml' because it contains a '?' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '[' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '!DOCTYPE' because it contains a '!' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers1.stree.txt index fbadbcc6d..1d82e5c9d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers1.stree.txt @@ -1,26 +1,27 @@ -Markup block - Gen - 31 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - HtmlComment block - Gen - 20 - (5:0,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (25:0,25) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..31)::31 - [] + MarkupBlock - [0..31)::31 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupCommentBlock - [5..25)::20 + MarkupTextLiteral - [5..9)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTagBlock - [25..31)::6 - [] + MarkupTextLiteral - [25..31)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers2.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers2.diag.txt new file mode 100644 index 000000000..67536937c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers2.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3008: Tag helpers cannot target tag name '!--' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '?xml' because it contains a '?' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '[' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '!DOCTYPE' because it contains a '!' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers2.stree.txt index 96ad08ee1..6435e3cdd 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers2.stree.txt @@ -1,29 +1,33 @@ -Markup block - Gen - 24 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - HtmlComment block - Gen - 13 - (5:0,5) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (18:0,18) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..24)::24 - [] + MarkupBlock - [0..24)::24 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupCommentBlock - [5..18)::13 + MarkupTextLiteral - [5..9)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTagBlock - [18..24)::6 - [] + MarkupTextLiteral - [18..24)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers3.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers3.diag.txt new file mode 100644 index 000000000..67536937c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers3.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3008: Tag helpers cannot target tag name '!--' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '?xml' because it contains a '?' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '[' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '!DOCTYPE' because it contains a '!' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers3.stree.txt index a8c8955b7..a435551c4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers3.stree.txt @@ -1,24 +1,24 @@ -Markup block - Gen - 31 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [] - [5..25) - FullWidth: 20 - Slots: 1 - SyntaxKind.List - [] - [5..25) - FullWidth: 20 - Slots: 10 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.Text;[xml]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (25:0,25) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..31)::31 - [] + MarkupBlock - [0..31)::31 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..25)::20 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + QuestionMark;[?]; + Text;[xml]; + Whitespace;[ ]; + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + Whitespace;[ ]; + QuestionMark;[?]; + CloseAngle;[>]; + MarkupTagBlock - [25..31)::6 - [] + MarkupTextLiteral - [25..31)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers4.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers4.diag.txt new file mode 100644 index 000000000..67536937c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers4.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3008: Tag helpers cannot target tag name '!--' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '?xml' because it contains a '?' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '[' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '!DOCTYPE' because it contains a '!' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers4.stree.txt index 23207701d..8aa9f0848 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers4.stree.txt @@ -1,27 +1,30 @@ -Markup block - Gen - 24 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ - 4 - (11:0,11) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (11:0,11) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (12:0,12) - Tokens:1 - SyntaxKind.Identifier;[foo]; - SyntaxKind.HtmlTextLiteral - [ ?>] - [15..18) - FullWidth: 3 - Slots: 1 - SyntaxKind.List - [ ?>] - [15..18) - FullWidth: 3 - Slots: 3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.QuestionMark;[?]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (18:0,18) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..24)::24 - [] + MarkupBlock - [0..24)::24 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..11)::6 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + QuestionMark;[?]; + Text;[xml]; + Whitespace;[ ]; + CSharpCodeBlock - [11..15)::4 + CSharpImplicitExpression - [11..15)::4 + CSharpTransition - [11..12)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [12..15)::3 + CSharpCodeBlock - [12..15)::3 + CSharpExpressionLiteral - [12..15)::3 - [foo] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[foo]; + MarkupTextLiteral - [15..18)::3 - [ ?>] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + QuestionMark;[?]; + CloseAngle;[>]; + MarkupTagBlock - [18..24)::6 - [] + MarkupTextLiteral - [18..24)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers5.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers5.diag.txt new file mode 100644 index 000000000..67536937c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers5.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3008: Tag helpers cannot target tag name '!--' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '?xml' because it contains a '?' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '[' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '!DOCTYPE' because it contains a '!' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers5.stree.txt index 639e17fa3..bb000ad7f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers5.stree.txt @@ -1,26 +1,29 @@ -Markup block - Gen - 27 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ - 4 - (15:0,15) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (16:0,16) - Tokens:1 - SyntaxKind.Identifier;[foo]; - SyntaxKind.HtmlTextLiteral - [ >] - [19..21) - FullWidth: 2 - Slots: 1 - SyntaxKind.List - [ >] - [19..21) - FullWidth: 2 - Slots: 2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (21:0,21) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..27)::27 - [] + MarkupBlock - [0..27)::27 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..15)::10 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Bang;[!]; + Text;[DOCTYPE]; + Whitespace;[ ]; + CSharpCodeBlock - [15..19)::4 + CSharpImplicitExpression - [15..19)::4 + CSharpTransition - [15..16)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [16..19)::3 + CSharpCodeBlock - [16..19)::3 + CSharpExpressionLiteral - [16..19)::3 - [foo] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[foo]; + MarkupTextLiteral - [19..21)::2 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTagBlock - [21..27)::6 - [] + MarkupTextLiteral - [21..27)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers6.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers6.diag.txt new file mode 100644 index 000000000..67536937c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers6.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3008: Tag helpers cannot target tag name '!--' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '?xml' because it contains a '?' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '[' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '!DOCTYPE' because it contains a '!' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers6.stree.txt index 4e9a91346..f2dffdde6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers6.stree.txt @@ -1,25 +1,25 @@ -Markup block - Gen - 36 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [] - [5..30) - FullWidth: 25 - Slots: 1 - SyntaxKind.List - [] - [5..30) - FullWidth: 25 - Slots: 11 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Bang;[!]; - SyntaxKind.Text;[DOCTYPE]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[hello]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - SyntaxKind.Text;[world]; - SyntaxKind.DoubleQuote;["]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (30:0,30) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..36)::36 - [] + MarkupBlock - [0..36)::36 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..30)::25 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Bang;[!]; + Text;[DOCTYPE]; + Whitespace;[ ]; + Text;[hello]; + Equals;[=]; + DoubleQuote;["]; + Text;[world]; + DoubleQuote;["]; + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTagBlock - [30..36)::6 - [] + MarkupTextLiteral - [30..36)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers7.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers7.diag.txt new file mode 100644 index 000000000..67536937c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers7.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3008: Tag helpers cannot target tag name '!--' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '?xml' because it contains a '?' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '[' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '!DOCTYPE' because it contains a '!' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers7.stree.txt index 429c94278..23a73af55 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers7.stree.txt @@ -1,27 +1,27 @@ -Markup block - Gen - 36 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [] - [5..30) - FullWidth: 25 - Slots: 1 - SyntaxKind.List - [] - [5..30) - FullWidth: 25 - Slots: 13 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Bang;[!]; - SyntaxKind.LeftBracket;[[]; - SyntaxKind.Text;[CDATA]; - SyntaxKind.LeftBracket;[[]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBracket;[]]; - SyntaxKind.RightBracket;[]]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (30:0,30) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..36)::36 - [] + MarkupBlock - [0..36)::36 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..30)::25 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Bang;[!]; + LeftBracket;[[]; + Text;[CDATA]; + LeftBracket;[[]; + Whitespace;[ ]; + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + Whitespace;[ ]; + RightBracket;[]]; + RightBracket;[]]; + CloseAngle;[>]; + MarkupTagBlock - [30..36)::6 - [] + MarkupTextLiteral - [30..36)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers8.diag.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers8.diag.txt new file mode 100644 index 000000000..67536937c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers8.diag.txt @@ -0,0 +1,5 @@ +(0,0): Error RZ3008: Tag helpers cannot target tag name '!--' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '?xml' because it contains a '?' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '!' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '![CDATA[' because it contains a '[' character. +(0,0): Error RZ3008: Tag helpers cannot target tag name '!DOCTYPE' because it contains a '!' character. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers8.stree.txt index 513b48778..bc149d467 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteSpecialTagTagHelpers8.stree.txt @@ -1,30 +1,33 @@ -Markup block - Gen - 29 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [ - 4 - (15:0,15) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (16:0,16) - Tokens:1 - SyntaxKind.Identifier;[foo]; - SyntaxKind.HtmlTextLiteral - [ ]]>] - [19..23) - FullWidth: 4 - Slots: 1 - SyntaxKind.List - [ ]]>] - [19..23) - FullWidth: 4 - Slots: 4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.RightBracket;[]]; - SyntaxKind.RightBracket;[]]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (23:0,23) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[foo]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..29)::29 - [] + MarkupBlock - [0..29)::29 + MarkupTagBlock - [0..5)::5 - [] + MarkupTextLiteral - [0..5)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[foo]; + CloseAngle;[>]; + MarkupTextLiteral - [5..15)::10 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Bang;[!]; + LeftBracket;[[]; + Text;[CDATA]; + LeftBracket;[[]; + Whitespace;[ ]; + CSharpCodeBlock - [15..19)::4 + CSharpImplicitExpression - [15..19)::4 + CSharpTransition - [15..16)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [16..19)::3 + CSharpCodeBlock - [16..19)::3 + CSharpExpressionLiteral - [16..19)::3 - [foo] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[foo]; + MarkupTextLiteral - [19..23)::4 - [ ]]>] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + RightBracket;[]]; + RightBracket;[]]; + CloseAngle;[>]; + MarkupTagBlock - [23..29)::6 - [] + MarkupTextLiteral - [23..29)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[foo]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers1.stree.txt index 36c3ee79e..a0890322f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers1.stree.txt @@ -1,8 +1,18 @@ -Markup block - Gen - 24 - (0:0,0) - Tag block - Gen - 24 - (0:0,0) - text - texttaghelper - StartTagAndEndTag - ... - SyntaxKind.HtmlTextLiteral - [Hello World] - [6..17) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [Hello World] - [6..17) - FullWidth: 11 - Slots: 3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; +RazorDocument - [0..24)::24 - [Hello World] + MarkupBlock - [0..24)::24 + MarkupTagHelperElement - [0..24)::24 - text[StartTagAndEndTag] - texttaghelper + MarkupTagHelperStartTag - [0..6)::6 + MarkupTextLiteral - [0..6)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [6..17)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [17..24)::7 + MarkupTextLiteral - [17..24)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers2.stree.txt index cf9c0f9b2..fcfb244b7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers2.stree.txt @@ -1,30 +1,34 @@ -Markup block - Gen - 27 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 27 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 24 - (2:0,2) - Tag block - Gen - 6 - (2:0,2) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:None - (8:0,8) - Tokens:3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - Tag block - Gen - 7 - (19:0,19) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (19:0,19) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..27)::27 - [@{Hello World}] + MarkupBlock - [0..27)::27 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..27)::27 + CSharpStatement - [0..27)::27 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..27)::26 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..26)::24 + MarkupBlock - [2..26)::24 + MarkupTagBlock - [2..8)::6 - [] + MarkupTransition - [2..8)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [8..19)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:None + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagBlock - [19..26)::7 - [] + MarkupTransition - [19..26)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [26..26)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [26..27)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [27..27)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers3.stree.txt index a579c1c53..728705632 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers3.stree.txt @@ -1,32 +1,46 @@ -Markup block - Gen - 34 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 34 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 31 - (2:0,2) - Tag block - Gen - 6 - (2:0,2) - Transition span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 18 - (8:0,8) - p - ptaghelper - StartTagAndEndTag -

        ...

        - Markup span - Gen - [Hello World] - SpanEditHandler;Accepts:Any - (11:0,11) - Tokens:3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - Tag block - Gen - 7 - (26:0,26) - Transition span - Gen - [
        ] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[text]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..34)::34 - [@{

        Hello World

        }] + MarkupBlock - [0..34)::34 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..34)::34 + CSharpStatement - [0..34)::34 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..34)::33 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..33)::31 + MarkupBlock - [2..33)::31 + MarkupTagBlock - [2..8)::6 - [] + MarkupTransition - [2..8)::6 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTagHelperElement - [8..26)::18 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [8..11)::3 + MarkupTextLiteral - [8..11)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [11..22)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [22..26)::4 + MarkupTextLiteral - [22..26)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [26..33)::7 - [
        ] + MarkupTransition - [26..33)::7 - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + CSharpStatementLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [33..34)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [34..34)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers4.stree.txt index 1a76d36a9..2376ffa08 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotRewriteTextTagTransitionTagHelpers4.stree.txt @@ -1,23 +1,47 @@ -Markup block - Gen - 34 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.Unknown;[]; - Statement block - Gen - 34 - (0:0,0) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1 - SyntaxKind.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) - Tokens:3 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..34)::34 - [@{

        Hello World

        }] + MarkupBlock - [0..34)::34 + MarkupTextLiteral - [0..0)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + CSharpCodeBlock - [0..34)::34 + CSharpStatement - [0..34)::34 + CSharpTransition - [0..1)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [1..34)::33 + RazorMetaCode - [1..2)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [2..33)::31 + MarkupBlock - [2..33)::31 + MarkupTagHelperElement - [2..33)::31 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [2..5)::3 + MarkupTextLiteral - [2..5)::3 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [5..29)::24 - text[StartTagAndEndTag] - texttaghelper + MarkupTagHelperStartTag - [5..11)::6 + MarkupTextLiteral - [5..11)::6 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + Text;[text]; + CloseAngle;[>]; + MarkupTextLiteral - [11..22)::11 - [Hello World] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + MarkupTagHelperEndTag - [22..29)::7 + MarkupTextLiteral - [22..29)::7 - [] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[text]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [29..33)::4 + MarkupTextLiteral - [29..33)::4 - [

        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + CSharpStatementLiteral - [33..33)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [33..34)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [34..34)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags1.stree.txt index 7e9ac9853..4fbcbc27e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags1.stree.txt @@ -1,23 +1,25 @@ -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) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (22:0,22) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..31)::31 - [] + MarkupBlock - [0..31)::31 + MarkupTagBlock - [0..13)::13 - [] + MarkupTextLiteral - [22..31)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags2.stree.txt index 717a88fcf..eeb165528 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags2.stree.txt @@ -1,31 +1,36 @@ -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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[types]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[html]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (35:0,35) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (35:0,35) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..44)::44 - [] + MarkupBlock - [0..44)::44 + MarkupTagBlock - [0..26)::26 - [] + MarkupTextLiteral - [35..44)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags3.stree.txt index 0af4884cf..a06447556 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags3.stree.txt @@ -1,34 +1,41 @@ -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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[html]; - Markup span - Gen - [ invalid] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[invalid]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (42:0,42) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..51)::51 - [] + MarkupBlock - [0..51)::51 + MarkupTagBlock - [0..33)::33 - [] + MarkupTextLiteral - [42..51)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags4.stree.txt index 497785349..50e28a2af 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesNotUnderstandTagHelpersInInvalidHtmlTypedScriptTags4.stree.txt @@ -1,43 +1,52 @@ -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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/ng-*] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[ng-*]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup block - Gen - 17 - (24:0,24) - Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[html]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (40:0,40) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (51:0,51) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (51:0,51) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..60)::60 - [] + MarkupBlock - [0..60)::60 + MarkupTagBlock - [0..42)::42 - [] + MarkupTextLiteral - [51..60)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.stree.txt index e2345c824..5aaa74ba0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/DoesntAllowSimpleHtmlCommentsAsChildrenWhenFeatureFlagIsOff.stree.txt @@ -1,13 +1,24 @@ -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) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..19)::19 - [

        ] + MarkupBlock - [0..19)::19 + MarkupTagHelperElement - [0..19)::19 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupCommentBlock - [3..15)::12 + MarkupTextLiteral - [3..7)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [15..19)::4 + MarkupTextLiteral - [15..19)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/FailsForContentWithCommentsAsChildren.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/FailsForContentWithCommentsAsChildren.stree.txt index 3a1c9224a..783308c6a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/FailsForContentWithCommentsAsChildren.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/FailsForContentWithCommentsAsChildren.stree.txt @@ -1,25 +1,36 @@ -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) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [asdf] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.Text;[asdf]; - HtmlComment block - Gen - 12 - (19:0,19) - Markup span - Gen - [] - SpanEditHandler;Accepts:None - (28:0,28) - Tokens:2 - SyntaxKind.DoubleHyphen;[--]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..35)::35 - [

        asdf

        ] + MarkupBlock - [0..35)::35 + MarkupTagHelperElement - [0..35)::35 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupCommentBlock - [3..15)::12 + MarkupTextLiteral - [3..7)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTextLiteral - [15..19)::4 - [asdf] - Gen - SpanEditHandler;Accepts:Any + Text;[asdf]; + MarkupCommentBlock - [19..31)::12 + MarkupTextLiteral - [19..23)::4 - [] - Gen - SpanEditHandler;Accepts:None + DoubleHyphen;[--]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [31..35)::4 + MarkupTextLiteral - [31..35)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/HandlesMalformedNestedNonTagHelperTags_Correctly.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/HandlesMalformedNestedNonTagHelperTags_Correctly.stree.txt index e0cd89550..8c0e0bf6a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/HandlesMalformedNestedNonTagHelperTags_Correctly.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/HandlesMalformedNestedNonTagHelperTags_Correctly.stree.txt @@ -1,24 +1,28 @@ -Markup block - Gen - 14 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Statement block - Gen - 9 - (5:0,5) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:0,5) - Tokens:1 - SyntaxKind.Transition;[@]; - MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (6:0,6) - Tokens:1 - SyntaxKind.LeftBrace;[{]; - Markup block - Gen - 6 - (7:0,7) - Tag block - Gen - 6 - (7:0,7) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:None - (7:0,7) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Code span - Gen - [] - SpanEditHandler;Accepts:Any - (13:0,13) - Tokens:1 - SyntaxKind.Unknown;[]; - MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (13:0,13) - Tokens:1 - SyntaxKind.RightBrace;[}]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:1 - SyntaxKind.Unknown;[]; +RazorDocument - [0..14)::14 - [
        @{
        }] + MarkupBlock - [0..14)::14 + MarkupTagBlock - [0..5)::5 - [
        ] + MarkupTextLiteral - [0..5)::5 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + CSharpCodeBlock - [5..14)::9 + CSharpStatement - [5..14)::9 + CSharpTransition - [5..6)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpStatementBody - [6..14)::8 + RazorMetaCode - [6..7)::1 - Gen - SpanEditHandler;Accepts:None + LeftBrace;[{]; + CSharpCodeBlock - [7..13)::6 + MarkupBlock - [7..13)::6 + MarkupTagBlock - [7..13)::6 - [
        ] + MarkupTextLiteral - [7..13)::6 - [
        ] - Gen - SpanEditHandler;Accepts:None + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + CSharpStatementLiteral - [13..13)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; + RazorMetaCode - [13..14)::1 - Gen - SpanEditHandler;Accepts:None + RightBrace;[}]; + MarkupTextLiteral - [14..14)::0 - [] - Gen - SpanEditHandler;Accepts:Any + Marker;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/InvalidStructure_UnderstandsTHPrefixAndAllowedChildrenAndRequireParent.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/InvalidStructure_UnderstandsTHPrefixAndAllowedChildrenAndRequireParent.stree.txt index 1d0a8487b..dc6a45ec3 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/InvalidStructure_UnderstandsTHPrefixAndAllowedChildrenAndRequireParent.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/InvalidStructure_UnderstandsTHPrefixAndAllowedChildrenAndRequireParent.stree.txt @@ -1,9 +1,20 @@ -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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[th:strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..25)::25 - [] + MarkupBlock - [0..25)::25 + MarkupTagHelperElement - [0..25)::25 - th:p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..6)::6 + MarkupTextLiteral - [0..6)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:p]; + CloseAngle;[>]; + MarkupTagBlock - [6..18)::12 - [] + MarkupTextLiteral - [6..18)::12 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [18..25)::7 + MarkupTextLiteral - [18..25)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.stree.txt index 98ea2b7ec..e54b169ec 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.stree.txt @@ -1,17 +1,40 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - Tag block - Gen - 3 - (15:0,15) - Markup span - Gen - [

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

        ] - SpanEditHandler;Accepts:Any - (18:0,18) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..26)::26 - [

        ] + MarkupBlock - [0..26)::26 + MarkupTagHelperElement - [0..26)::26 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [15..18)::3 - [

        ] + MarkupTextLiteral - [15..18)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [18..22)::4 - [

        ] + MarkupTextLiteral - [18..22)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [22..26)::4 + MarkupTextLiteral - [22..26)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.stree.txt index 42120b8e2..738d2bf69 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.stree.txt @@ -1,44 +1,89 @@ -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) - Tokens:1 - SyntaxKind.Text;[hi]; - Tag block - Gen - 8 - (22:0,22) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (30:0,30) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 48 - (38:0,38) - strong - catchAllTagHelper - StartTagAndEndTag - ... - catchAll - DoubleQuotes - Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (56:0,56) - Tokens:1 - SyntaxKind.Text;[hi]; - Tag block - Gen - 8 - (60:0,60) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (60:0,60) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (68:0,68) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (68:0,68) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (86:0,86) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (86:0,86) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (95:0,95) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (95:0,95) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..113)::113 - [] + MarkupBlock - [0..113)::113 + MarkupTagHelperElement - [0..113)::113 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [0..22)::22 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [7..21)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..20)::2 + MarkupLiteralAttributeValue - [18..20)::2 - [hi] + MarkupTextLiteral - [18..20)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [21..22)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [22..30)::8 - [] + MarkupTextLiteral - [22..30)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [30..38)::8 - [] + MarkupTextLiteral - [30..38)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperElement - [38..86)::48 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [38..60)::22 + MarkupTextLiteral - [38..45)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [45..59)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [45..46)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [46..54)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [55..56)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [56..58)::2 + MarkupLiteralAttributeValue - [56..58)::2 - [hi] + MarkupTextLiteral - [56..58)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [58..59)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [59..60)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [60..68)::8 - [] + MarkupTextLiteral - [60..68)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [68..77)::9 - [] + MarkupTextLiteral - [68..77)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [77..86)::9 + MarkupTextLiteral - [77..86)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [86..95)::9 - [] + MarkupTextLiteral - [86..95)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [95..104)::9 - [] + MarkupTextLiteral - [95..104)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [104..113)::9 + MarkupTextLiteral - [104..113)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.stree.txt index a64f462a0..a6bd0c5f0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.stree.txt @@ -1,17 +1,40 @@ -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) - Tokens:1 - SyntaxKind.Text;[hi]; - Tag block - Gen - 8 - (22:0,22) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (30:0,30) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..48)::48 - [] + MarkupBlock - [0..48)::48 + MarkupTagHelperElement - [0..48)::48 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [0..22)::22 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [7..21)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..20)::2 + MarkupLiteralAttributeValue - [18..20)::2 - [hi] + MarkupTextLiteral - [18..20)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [21..22)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [22..30)::8 - [] + MarkupTextLiteral - [22..30)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [30..39)::9 - [] + MarkupTextLiteral - [30..39)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [39..48)::9 + MarkupTextLiteral - [39..48)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.stree.txt index 42c964719..65212d9fe 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.stree.txt @@ -1,28 +1,51 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - Tag block - Gen - 8 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 3 - (23:0,23) - Markup span - Gen - [

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

        ] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (30:0,30) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (30:0,30) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..43)::43 - [

        ] + MarkupBlock - [0..43)::43 + MarkupTagHelperElement - [0..43)::43 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [15..23)::8 - [] + MarkupTextLiteral - [15..23)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [23..26)::3 - [

        ] + MarkupTextLiteral - [23..26)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [26..30)::4 - [

        ] + MarkupTextLiteral - [26..30)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [30..39)::9 - [
        ] + MarkupTextLiteral - [30..39)::9 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [39..43)::4 + MarkupTextLiteral - [39..43)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.stree.txt index 4b53e4464..7dab44ec9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.stree.txt @@ -1,28 +1,51 @@ -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) - Tokens:1 - SyntaxKind.Text;[hi]; - Tag block - Gen - 3 - (22:0,22) - Markup span - Gen - [

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

        ] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..55)::55 - [

        ] + MarkupBlock - [0..55)::55 + MarkupTagHelperElement - [0..55)::55 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [0..22)::22 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [7..21)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..20)::2 + MarkupLiteralAttributeValue - [18..20)::2 - [hi] + MarkupTextLiteral - [18..20)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [21..22)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [22..25)::3 - [

        ] + MarkupTextLiteral - [22..25)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [25..33)::8 - [] + MarkupTextLiteral - [25..33)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [33..42)::9 - [] + MarkupTextLiteral - [33..42)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [42..46)::4 - [

        ] + MarkupTextLiteral - [42..46)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [46..55)::9 + MarkupTextLiteral - [46..55)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.stree.txt index 2dde3b716..b9ccf7520 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.stree.txt @@ -1,22 +1,67 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - Tag block - Gen - 38 - (15:0,15) - strong - catchAllTagHelper - StartTagAndEndTag - ... - catchAll - DoubleQuotes - Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:1 - SyntaxKind.Text;[hi]; - Tag block - Gen - 3 - (37:0,37) - Markup span - Gen - [

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

        ] - SpanEditHandler;Accepts:Any - (40:0,40) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..57)::57 - [

        ] + MarkupBlock - [0..57)::57 + MarkupTagHelperElement - [0..57)::57 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperElement - [15..53)::38 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [15..37)::22 + MarkupTextLiteral - [15..22)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [22..36)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [22..23)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [23..31)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [32..33)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [33..35)::2 + MarkupLiteralAttributeValue - [33..35)::2 - [hi] + MarkupTextLiteral - [33..35)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [35..36)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [36..37)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [37..40)::3 - [

        ] + MarkupTextLiteral - [37..40)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [40..44)::4 - [

        ] + MarkupTextLiteral - [40..44)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [44..53)::9 + MarkupTextLiteral - [44..53)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [53..57)::4 + MarkupTextLiteral - [53..57)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.stree.txt index 2ffe852d7..b0a00277a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.stree.txt @@ -1,22 +1,67 @@ -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) - Tokens:1 - SyntaxKind.Text;[hi]; - Tag block - Gen - 36 - (22:0,22) - p - pTagHelper - StartTagAndEndTag -

        ...

        - class - DoubleQuotes - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:1 - SyntaxKind.Text;[btn]; - Tag block - Gen - 8 - (37:0,37) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (37:0,37) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (45:0,45) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (45:0,45) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..67)::67 - [

        ] + MarkupBlock - [0..67)::67 + MarkupTagHelperElement - [0..67)::67 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [0..22)::22 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [7..21)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..20)::2 + MarkupLiteralAttributeValue - [18..20)::2 - [hi] + MarkupTextLiteral - [18..20)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [21..22)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperElement - [22..58)::36 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [22..37)::15 + MarkupTextLiteral - [22..24)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [24..36)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [24..25)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [25..30)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [31..32)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [32..35)::3 + MarkupLiteralAttributeValue - [32..35)::3 - [btn] + MarkupTextLiteral - [32..35)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [35..36)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [36..37)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [37..45)::8 - [] + MarkupTextLiteral - [37..45)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [45..54)::9 - [] + MarkupTextLiteral - [45..54)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [54..58)::4 + MarkupTextLiteral - [54..58)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [58..67)::9 + MarkupTextLiteral - [58..67)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.stree.txt index 17373b163..2488a556b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.stree.txt @@ -1,22 +1,67 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - Tag block - Gen - 26 - (15:0,15) - p - pTagHelper - StartTagAndEndTag -

        ...

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

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

        ] - SpanEditHandler;Accepts:Any - (33:0,33) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..45)::45 - [

        ] + MarkupBlock - [0..45)::45 + MarkupTagHelperElement - [0..45)::45 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperElement - [15..41)::26 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [15..30)::15 + MarkupTextLiteral - [15..17)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [17..29)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [17..18)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [18..23)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [25..28)::3 + MarkupLiteralAttributeValue - [25..28)::3 - [btn] + MarkupTextLiteral - [25..28)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [28..29)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [29..30)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [30..33)::3 - [

        ] + MarkupTextLiteral - [30..33)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [33..37)::4 - [

        ] + MarkupTextLiteral - [33..37)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [37..41)::4 + MarkupTextLiteral - [37..41)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [41..45)::4 + MarkupTextLiteral - [41..45)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.stree.txt index 7408752c4..581ce3468 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.stree.txt @@ -1,22 +1,67 @@ -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) - Tokens:1 - SyntaxKind.Text;[hi]; - Tag block - Gen - 48 - (22:0,22) - strong - catchAllTagHelper - StartTagAndEndTag - ... - catchAll - DoubleQuotes - Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (40:0,40) - Tokens:1 - SyntaxKind.Text;[hi]; - Tag block - Gen - 8 - (44:0,44) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (44:0,44) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (52:0,52) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (52:0,52) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..79)::79 - [] + MarkupBlock - [0..79)::79 + MarkupTagHelperElement - [0..79)::79 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [0..22)::22 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [7..21)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..20)::2 + MarkupLiteralAttributeValue - [18..20)::2 - [hi] + MarkupTextLiteral - [18..20)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [21..22)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperElement - [22..70)::48 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [22..44)::22 + MarkupTextLiteral - [22..29)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [29..43)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [29..30)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [30..38)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [39..40)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [40..42)::2 + MarkupLiteralAttributeValue - [40..42)::2 - [hi] + MarkupTextLiteral - [40..42)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [42..43)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [43..44)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [44..52)::8 - [] + MarkupTextLiteral - [44..52)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [52..61)::9 - [] + MarkupTextLiteral - [52..61)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [61..70)::9 + MarkupTextLiteral - [61..70)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [70..79)::9 + MarkupTextLiteral - [70..79)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.stree.txt index 56fe5e103..7a7ed95c3 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NestedRequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.stree.txt @@ -1,44 +1,89 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - Tag block - Gen - 3 - (15:0,15) - Markup span - Gen - [

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

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

        ...

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

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

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

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

        ] - SpanEditHandler;Accepts:Any - (51:0,51) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..59)::59 - [

        ] + MarkupBlock - [0..59)::59 + MarkupTagHelperElement - [0..59)::59 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [15..18)::3 - [

        ] + MarkupTextLiteral - [15..18)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [18..21)::3 - [

        ] + MarkupTextLiteral - [18..21)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [21..47)::26 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [21..36)::15 + MarkupTextLiteral - [21..23)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [23..35)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [23..24)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [24..29)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [30..31)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [31..34)::3 + MarkupLiteralAttributeValue - [31..34)::3 - [btn] + MarkupTextLiteral - [31..34)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [34..35)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [35..36)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [36..39)::3 - [

        ] + MarkupTextLiteral - [36..39)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [39..43)::4 - [

        ] + MarkupTextLiteral - [39..43)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [43..47)::4 + MarkupTextLiteral - [43..47)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [47..51)::4 - [

        ] + MarkupTextLiteral - [47..51)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [51..55)::4 - [

        ] + MarkupTextLiteral - [51..55)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [55..59)::4 + MarkupTextLiteral - [55..59)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NonTagHelperChild_UnderstandsTagHelperPrefixAndAllowedChildren.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NonTagHelperChild_UnderstandsTagHelperPrefixAndAllowedChildren.stree.txt index 1323312f7..fb55ceeab 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NonTagHelperChild_UnderstandsTagHelperPrefixAndAllowedChildren.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/NonTagHelperChild_UnderstandsTagHelperPrefixAndAllowedChildren.stree.txt @@ -1,14 +1,25 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (14:0,14) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..30)::30 - [] + MarkupBlock - [0..30)::30 + MarkupTagHelperElement - [0..30)::30 - th:p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..6)::6 + MarkupTextLiteral - [0..6)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:p]; + CloseAngle;[>]; + MarkupTagBlock - [6..14)::8 - [] + MarkupTextLiteral - [6..14)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [14..23)::9 - [] + MarkupTextLiteral - [14..23)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [23..30)::7 + MarkupTextLiteral - [23..30)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.stree.txt index a2d109fe4..2b838f60e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RecoversWhenRequiredAttributeMismatchAndRestrictedChildren.stree.txt @@ -1,15 +1,31 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (25:0,25) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..43)::43 - [] + MarkupBlock - [0..43)::43 + MarkupTagHelperElement - [0..43)::43 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [0..17)::17 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupMinimizedTagHelperAttribute - [7..16)::9 - required - Minimized - Unbound - [ required] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [required] - Gen - SpanEditHandler;Accepts:Any + Text;[required]; + MarkupTextLiteral - [16..17)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [17..25)::8 - [] + MarkupTextLiteral - [17..25)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [25..34)::9 - [] + MarkupTextLiteral - [25..34)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [34..43)::9 + MarkupTextLiteral - [34..43)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly1.stree.txt index 596d68d83..eab1ac90d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly1.stree.txt @@ -1,5 +1,6 @@ -Markup block - Gen - 2 - (0:0,0) - Tag block - Gen - 2 - (0:0,0) - Markup span - Gen - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly10.stree.txt index 4d2fec2aa..798f824da 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly10.stree.txt @@ -1,9 +1,42 @@ -Markup block - Gen - 35 - (0:0,0) - Tag block - Gen - 35 - (0:0,0) - p - pTagHelper - StartTagAndEndTag -

        - [hi] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[hi]; - class - DoubleQuotes - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..35)::35 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..19)::17 - notRequired - DoubleQuotes - Unbound - [ notRequired="hi"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..14)::11 - [notRequired] - Gen - SpanEditHandler;Accepts:Any + Text;[notRequired]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [16..18)::2 + MarkupLiteralAttributeValue - [16..18)::2 - [hi] + MarkupTextLiteral - [16..18)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [18..19)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [19..31)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [19..20)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [20..25)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [26..27)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [27..30)::3 + MarkupLiteralAttributeValue - [27..30)::3 - [btn] + MarkupTextLiteral - [27..30)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [30..31)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [31..32)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperEndTag - [32..35)::3 + MarkupTextLiteral - [32..35)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.stree.txt index 4c1acbe66..503cfd359 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly2.stree.txt @@ -1,6 +1,21 @@ -Markup block - Gen - 14 - (0:0,0) - Tag block - Gen - 14 - (0:0,0) - p - pTagHelper - StartTagAndEndTag -

        - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..14)::14 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.stree.txt index 053556f3a..fe9f393e9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly3.stree.txt @@ -1,9 +1,35 @@ -Markup block - Gen - 31 - (0:0,0) - Tag block - Gen - 31 - (0:0,0) - p - pTagHelper - StartTagAndEndTag -

        - [hi] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[hi]; - class - DoubleQuotes - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..31)::31 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..19)::17 - notRequired - DoubleQuotes - Unbound - [ notRequired="hi"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..14)::11 - [notRequired] - Gen - SpanEditHandler;Accepts:Any + Text;[notRequired]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [16..18)::2 + MarkupLiteralAttributeValue - [16..18)::2 - [hi] + MarkupTextLiteral - [16..18)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [18..19)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [19..31)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [19..20)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [20..25)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [26..27)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [27..30)::3 + MarkupLiteralAttributeValue - [27..30)::3 - [btn] + MarkupTextLiteral - [27..30)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [30..31)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly4.stree.txt index e8a98d3e3..c5ba65872 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly4.stree.txt @@ -1,11 +1,12 @@ -Markup block - Gen - 6 - (0:0,0) - Tag block - Gen - 3 - (0:0,0) - Markup span - Gen - [

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

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..6)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly5.stree.txt index 68684ef95..79471e244 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly5.stree.txt @@ -1,6 +1,28 @@ -Markup block - Gen - 18 - (0:0,0) - Tag block - Gen - 18 - (0:0,0) - p - pTagHelper - StartTagAndEndTag -

        ...

        - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..18)::18 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [15..18)::3 + MarkupTextLiteral - [15..18)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.stree.txt index 0d2c7f935..f462c67c7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly6.stree.txt @@ -1,9 +1,42 @@ -Markup block - Gen - 35 - (0:0,0) - Tag block - Gen - 35 - (0:0,0) - p - pTagHelper - StartTagAndEndTag -

        ...

        - [hi] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.Text;[hi]; - class - DoubleQuotes - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..35)::35 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..19)::17 - notRequired - DoubleQuotes - Unbound - [ notRequired="hi"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..14)::11 - [notRequired] - Gen - SpanEditHandler;Accepts:Any + Text;[notRequired]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [16..18)::2 + MarkupLiteralAttributeValue - [16..18)::2 - [hi] + MarkupTextLiteral - [16..18)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [18..19)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [19..31)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [19..20)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [20..25)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [26..27)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [27..30)::3 + MarkupLiteralAttributeValue - [27..30)::3 - [btn] + MarkupTextLiteral - [27..30)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [30..31)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [31..32)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagHelperEndTag - [32..35)::3 + MarkupTextLiteral - [32..35)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.stree.txt index ace79e307..31df01968 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly7.stree.txt @@ -1,11 +1,28 @@ -Markup block - Gen - 18 - (0:0,0) - Tag block - Gen - 18 - (0:0,0) - p - pTagHelper - StartTagAndEndTag -

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

        ] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..18)::18 - [

        ] + MarkupBlock - [0..18)::18 + MarkupTagHelperElement - [0..18)::18 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [15..18)::3 - [

        ] + MarkupTextLiteral - [15..18)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.stree.txt index 2cf979b00..b52a99bf8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly8.stree.txt @@ -1,14 +1,42 @@ -Markup block - Gen - 35 - (0:0,0) - Tag block - Gen - 35 - (0:0,0) - p - pTagHelper - StartTagAndEndTag -

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

        ] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..35)::35 - [

        ] + MarkupBlock - [0..35)::35 + MarkupTagHelperElement - [0..35)::35 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..32)::32 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..19)::17 - notRequired - DoubleQuotes - Unbound - [ notRequired="hi"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..14)::11 - [notRequired] - Gen - SpanEditHandler;Accepts:Any + Text;[notRequired]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [16..18)::2 + MarkupLiteralAttributeValue - [16..18)::2 - [hi] + MarkupTextLiteral - [16..18)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [18..19)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [19..31)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [19..20)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [20..25)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [26..27)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [27..30)::3 + MarkupLiteralAttributeValue - [27..30)::3 - [btn] + MarkupTextLiteral - [27..30)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [30..31)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [31..32)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagBlock - [32..35)::3 - [

        ] + MarkupTextLiteral - [32..35)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.stree.txt index 0fa243a50..965621131 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateMalformedTagHelperBlocksCorrectly9.stree.txt @@ -1,6 +1,28 @@ -Markup block - Gen - 18 - (0:0,0) - Tag block - Gen - 18 - (0:0,0) - p - pTagHelper - StartTagAndEndTag -

        - [btn] - SpanEditHandler;Accepts:Any - (10:0,10) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..18)::18 - [

        - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperEndTag - [15..18)::3 + MarkupTextLiteral - [15..18)::3 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.stree.txt index 0b21e2db5..113a5935e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly1.stree.txt @@ -1,8 +1,9 @@ -Markup block - Gen - 5 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [

        ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[p]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..5)::5 - [

        ] + MarkupBlock - [0..5)::5 + MarkupTagBlock - [0..5)::5 - [

        ] + MarkupTextLiteral - [0..5)::5 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.stree.txt index 1a20af44f..f32b50574 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly10.stree.txt @@ -1,6 +1,25 @@ -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) - Tokens:1 - SyntaxKind.Text;[hi]; +RazorDocument - [0..24)::24 - [] + MarkupBlock - [0..24)::24 + MarkupTagHelperElement - [0..24)::24 - strong[SelfClosing] - catchAllTagHelper + MarkupTagHelperStartTag - [0..24)::24 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [7..21)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..20)::2 + MarkupLiteralAttributeValue - [18..20)::2 - [hi] + MarkupTextLiteral - [18..20)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [21..24)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly11.stree.txt index f26dbbcc7..37b118482 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly11.stree.txt @@ -1,13 +1,34 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (19:0,19) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..35)::35 - [] + MarkupBlock - [0..35)::35 + MarkupTagHelperElement - [0..35)::35 - strong[SelfClosing] - catchAllTagHelper + MarkupTagHelperStartTag - [0..35)::35 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [7..32)::25 - catchAll - DoubleQuotes - Unbound - [ catchAll="@DateTime.Now"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..31)::13 + MarkupDynamicAttributeValue - [18..31)::13 - [@DateTime.Now] + GenericBlock - [18..31)::13 + CSharpCodeBlock - [18..31)::13 + CSharpImplicitExpression - [18..31)::13 + CSharpTransition - [18..19)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [19..31)::12 + CSharpCodeBlock - [19..31)::12 + CSharpExpressionLiteral - [19..31)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [31..32)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [32..35)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly12.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly12.stree.txt index 49fa4a94f..8f5dcd54c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly12.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly12.stree.txt @@ -1,13 +1,35 @@ -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) - Tokens:1 - SyntaxKind.Text;[hi]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [22..38) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [22..38) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..47)::47 - [words and spaces] + MarkupBlock - [0..47)::47 + MarkupTagHelperElement - [0..47)::47 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [0..22)::22 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [7..21)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..20)::2 + MarkupLiteralAttributeValue - [18..20)::2 - [hi] + MarkupTextLiteral - [18..20)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [21..22)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [22..38)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [38..47)::9 + MarkupTextLiteral - [38..47)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly13.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly13.stree.txt index d57a5fe19..ecbcdd1d8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly13.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly13.stree.txt @@ -1,20 +1,44 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (19:0,19) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [33..49) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [33..49) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..58)::58 - [words and spaces] + MarkupBlock - [0..58)::58 + MarkupTagHelperElement - [0..58)::58 - strong[StartTagAndEndTag] - catchAllTagHelper + MarkupTagHelperStartTag - [0..33)::33 + MarkupTextLiteral - [0..7)::7 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + MarkupTagHelperAttribute - [7..32)::25 - catchAll - DoubleQuotes - Unbound - [ catchAll="@DateTime.Now"] + MarkupTextLiteral - [7..8)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [8..16)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [18..31)::13 + MarkupDynamicAttributeValue - [18..31)::13 - [@DateTime.Now] + GenericBlock - [18..31)::13 + CSharpCodeBlock - [18..31)::13 + CSharpImplicitExpression - [18..31)::13 + CSharpTransition - [18..19)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [19..31)::12 + CSharpCodeBlock - [19..31)::12 + CSharpExpressionLiteral - [19..31)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [31..32)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [32..33)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [33..49)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [49..58)::9 + MarkupTextLiteral - [49..58)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly14.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly14.stree.txt index 1a8f7e684..8d64367f8 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly14.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly14.stree.txt @@ -1,19 +1,24 @@ -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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [ />] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:3 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..19)::19 - [

        ] + MarkupBlock - [0..19)::19 + MarkupTagBlock - [0..19)::19 - [
        ] + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupAttributeBlock - [4..16)::12 - [ class="btn"] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [12..15)::3 + MarkupLiteralAttributeValue - [12..15)::3 - [btn] + MarkupTextLiteral - [12..15)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [16..19)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly15.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly15.stree.txt index a2e01511c..0c736f686 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly15.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly15.stree.txt @@ -1,23 +1,28 @@ -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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.Text;[btn]; - Markup span - Gen - ["] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1 - SyntaxKind.DoubleQuote;["]; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (17:0,17) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..23)::23 - [
        ] + MarkupBlock - [0..23)::23 + MarkupTagBlock - [0..17)::17 - [
        ] + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupAttributeBlock - [4..16)::12 - [ class="btn"] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + GenericBlock - [12..15)::3 + MarkupLiteralAttributeValue - [12..15)::3 - [btn] + MarkupTextLiteral - [12..15)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [16..17)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTagBlock - [17..23)::6 - [
        ] + MarkupTextLiteral - [17..23)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly16.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly16.stree.txt index 2785f615d..371ac6d99 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly16.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly16.stree.txt @@ -1,9 +1,39 @@ -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) - Tokens:1 - SyntaxKind.Text;[a]; - class - DoubleQuotes - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..33)::33 - [

        ] + MarkupBlock - [0..33)::33 + MarkupTagHelperElement - [0..33)::33 - p[SelfClosing] - pTagHelper + MarkupTagHelperStartTag - [0..33)::33 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..18)::16 - notRequired - DoubleQuotes - Unbound - [ notRequired="a"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..14)::11 - [notRequired] - Gen - SpanEditHandler;Accepts:Any + Text;[notRequired]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [16..17)::1 + MarkupLiteralAttributeValue - [16..17)::1 - [a] + MarkupTextLiteral - [16..17)::1 - [a] - Gen - SpanEditHandler;Accepts:Any + Text;[a]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [18..30)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [18..19)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [19..24)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [25..26)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [26..29)::3 + MarkupLiteralAttributeValue - [26..29)::3 - [btn] + MarkupTextLiteral - [26..29)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [29..30)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [30..33)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly17.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly17.stree.txt index c88ea81e7..b157fddec 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly17.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly17.stree.txt @@ -1,16 +1,48 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (17:0,17) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - class - DoubleQuotes - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (38:0,38) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..45)::45 - [

        ] + MarkupBlock - [0..45)::45 + MarkupTagHelperElement - [0..45)::45 - p[SelfClosing] - pTagHelper + MarkupTagHelperStartTag - [0..45)::45 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..30)::28 - notRequired - DoubleQuotes - Unbound - [ notRequired="@DateTime.Now"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..14)::11 - [notRequired] - Gen - SpanEditHandler;Accepts:Any + Text;[notRequired]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [16..29)::13 + MarkupDynamicAttributeValue - [16..29)::13 - [@DateTime.Now] + GenericBlock - [16..29)::13 + CSharpCodeBlock - [16..29)::13 + CSharpImplicitExpression - [16..29)::13 + CSharpTransition - [16..17)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [17..29)::12 + CSharpCodeBlock - [17..29)::12 + CSharpExpressionLiteral - [17..29)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [29..30)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [30..42)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [30..31)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [31..36)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [37..38)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [38..41)::3 + MarkupLiteralAttributeValue - [38..41)::3 - [btn] + MarkupTextLiteral - [38..41)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [41..42)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [42..45)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly18.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly18.stree.txt index 444e7dfa6..1e173c05b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly18.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly18.stree.txt @@ -1,16 +1,49 @@ -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) - Tokens:1 - SyntaxKind.Text;[a]; - class - DoubleQuotes - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:1 - SyntaxKind.Text;[btn]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [31..47) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [31..47) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..51)::51 - [

        words and spaces

        ] + MarkupBlock - [0..51)::51 + MarkupTagHelperElement - [0..51)::51 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..31)::31 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..18)::16 - notRequired - DoubleQuotes - Unbound - [ notRequired="a"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..14)::11 - [notRequired] - Gen - SpanEditHandler;Accepts:Any + Text;[notRequired]; + Equals;[=]; + MarkupTextLiteral - [15..16)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [16..17)::1 + MarkupLiteralAttributeValue - [16..17)::1 - [a] + MarkupTextLiteral - [16..17)::1 - [a] - Gen - SpanEditHandler;Accepts:Any + Text;[a]; + MarkupTextLiteral - [17..18)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [18..30)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [18..19)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [19..24)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [25..26)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [26..29)::3 + MarkupLiteralAttributeValue - [26..29)::3 - [btn] + MarkupTextLiteral - [26..29)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [29..30)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [30..31)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [31..47)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [47..51)::4 + MarkupTextLiteral - [47..51)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.cspans.txt index b46c82a31..2930101dc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.cspans.txt @@ -1 +1,2 @@ +Markup span at (12:0,12 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [28] ) Markup span at (21:0,21 [3] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [28] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.stree.txt index 66b5a6a45..a7e368995 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly19.stree.txt @@ -1,8 +1,37 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..28)::28 - [
        ] + MarkupBlock - [0..28)::28 + MarkupTagHelperElement - [0..28)::28 - div[SelfClosing] - divTagHelper + MarkupTagHelperStartTag - [0..28)::28 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..13)::9 - style - DoubleQuotes - Unbound - [ style=""] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..12)::0 + MarkupTextLiteral - [12..12)::0 - [] + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [13..25)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..19)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [21..24)::3 + MarkupLiteralAttributeValue - [21..24)::3 - [btn] + MarkupTextLiteral - [21..24)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [25..28)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.stree.txt index 5c14e6653..8a2d870d9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly2.stree.txt @@ -1,12 +1,13 @@ -Markup block - Gen - 7 - (0:0,0) - Tag block - Gen - 3 - (0:0,0) - Markup span - Gen - [

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

        ] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[p]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..7)::7 - [

        ] + MarkupBlock - [0..7)::7 + MarkupTagBlock - [0..3)::3 - [

        ] + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..7)::4 - [

        ] + MarkupTextLiteral - [3..7)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly20.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly20.stree.txt index c3664a510..cfebeb7fc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly20.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly20.stree.txt @@ -1,16 +1,48 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (13:0,13) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - class - DoubleQuotes - Markup span - Gen - [btn] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..41)::41 - [
        ] + MarkupBlock - [0..41)::41 + MarkupTagHelperElement - [0..41)::41 - div[SelfClosing] - divTagHelper + MarkupTagHelperStartTag - [0..41)::41 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..26)::22 - style - DoubleQuotes - Unbound - [ style="@DateTime.Now"] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..25)::13 + MarkupDynamicAttributeValue - [12..25)::13 - [@DateTime.Now] + GenericBlock - [12..25)::13 + CSharpCodeBlock - [12..25)::13 + CSharpImplicitExpression - [12..25)::13 + CSharpTransition - [12..13)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [13..25)::12 + CSharpCodeBlock - [13..25)::12 + CSharpExpressionLiteral - [13..25)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [25..26)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [26..38)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [26..27)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [27..32)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [33..34)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [34..37)::3 + MarkupLiteralAttributeValue - [34..37)::3 - [btn] + MarkupTextLiteral - [34..37)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [37..38)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [38..41)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.cspans.txt index 517442ebe..17da676f6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.cspans.txt @@ -1,2 +1,3 @@ +Markup span at (12:0,12 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [48] ) Markup span at (21:0,21 [3] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [48] ) Markup span at (26:0,26 [16] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [48] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.stree.txt index 9b5a9b5c5..e35bb2239 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly21.stree.txt @@ -1,15 +1,47 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [26..42) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [26..42) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..48)::48 - [
        words and spaces
        ] + MarkupBlock - [0..48)::48 + MarkupTagHelperElement - [0..48)::48 - div[StartTagAndEndTag] - divTagHelper + MarkupTagHelperStartTag - [0..26)::26 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..13)::9 - style - DoubleQuotes - Unbound - [ style=""] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..12)::0 + MarkupTextLiteral - [12..12)::0 - [] + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [13..25)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..19)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [21..24)::3 + MarkupLiteralAttributeValue - [21..24)::3 - [btn] + MarkupTextLiteral - [21..24)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [25..26)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [26..42)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [42..48)::6 + MarkupTextLiteral - [42..48)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly22.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly22.stree.txt index 242d9d6cd..7e0cf0854 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly22.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly22.stree.txt @@ -1,30 +1,67 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (13:0,13) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (35:0,35) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [49..65) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [49..65) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..71)::71 - [
        words and spaces
        ] + MarkupBlock - [0..71)::71 + MarkupTagHelperElement - [0..71)::71 - div[StartTagAndEndTag] - divTagHelper + MarkupTagHelperStartTag - [0..49)::49 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..26)::22 - style - DoubleQuotes - Unbound - [ style="@DateTime.Now"] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..25)::13 + MarkupDynamicAttributeValue - [12..25)::13 - [@DateTime.Now] + GenericBlock - [12..25)::13 + CSharpCodeBlock - [12..25)::13 + CSharpImplicitExpression - [12..25)::13 + CSharpTransition - [12..13)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [13..25)::12 + CSharpCodeBlock - [13..25)::12 + CSharpExpressionLiteral - [13..25)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [25..26)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [26..48)::22 - class - DoubleQuotes - Unbound - [ class="@DateTime.Now"] + MarkupTextLiteral - [26..27)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [27..32)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [33..34)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [34..47)::13 + MarkupDynamicAttributeValue - [34..47)::13 - [@DateTime.Now] + GenericBlock - [34..47)::13 + CSharpCodeBlock - [34..47)::13 + CSharpImplicitExpression - [34..47)::13 + CSharpTransition - [34..35)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [35..47)::12 + CSharpCodeBlock - [35..47)::12 + CSharpExpressionLiteral - [35..47)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [47..48)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [48..49)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [49..65)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [65..71)::6 + MarkupTextLiteral - [65..71)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.cspans.txt index 120408cb7..a788e1773 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.cspans.txt @@ -1,3 +1,4 @@ +Markup span at (12:0,12 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [63] ) Markup span at (21:0,21 [3] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [63] ) Markup span at (26:0,26 [5] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [63] ) Markup span at (31:0,31 [8] ) (Accepts:Any) - Parent: Tag block at (31:0,31 [8] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.stree.txt index ae9b6d88a..84478fe38 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly23.stree.txt @@ -1,25 +1,58 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - SyntaxKind.HtmlTextLiteral - [words] - [26..31) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[words]; - Tag block - Gen - 8 - (31:0,31) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [and] - [39..42) - FullWidth: 3 - Slots: 1 - SyntaxKind.Text;[and]; - Tag block - Gen - 9 - (42:0,42) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [spaces] - [51..57) - FullWidth: 6 - Slots: 1 - SyntaxKind.Text;[spaces]; +RazorDocument - [0..63)::63 - [
        wordsandspaces
        ] + MarkupBlock - [0..63)::63 + MarkupTagHelperElement - [0..63)::63 - div[StartTagAndEndTag] - divTagHelper + MarkupTagHelperStartTag - [0..26)::26 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..13)::9 - style - DoubleQuotes - Unbound - [ style=""] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..12)::0 + MarkupTextLiteral - [12..12)::0 - [] + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [13..25)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..19)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [21..24)::3 + MarkupLiteralAttributeValue - [21..24)::3 - [btn] + MarkupTextLiteral - [21..24)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [25..26)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [26..31)::5 - [words] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + MarkupTagBlock - [31..39)::8 - [] + MarkupTextLiteral - [31..39)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [39..42)::3 - [and] - Gen - SpanEditHandler;Accepts:Any + Text;[and]; + MarkupTagBlock - [42..51)::9 - [] + MarkupTextLiteral - [42..51)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [51..57)::6 - [spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[spaces]; + MarkupTagHelperEndTag - [57..63)::6 + MarkupTextLiteral - [57..63)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly24.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly24.stree.txt index 190c850ed..0e31631ea 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly24.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly24.stree.txt @@ -1,9 +1,39 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - catchAll - DoubleQuotes - Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:1 - SyntaxKind.Text;[hi]; +RazorDocument - [0..31)::31 - [

        ] + MarkupBlock - [0..31)::31 + MarkupTagHelperElement - [0..31)::31 - p[SelfClosing] - pTagHelper - catchAllTagHelper + MarkupTagHelperStartTag - [0..31)::31 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [14..28)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..23)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [25..27)::2 + MarkupLiteralAttributeValue - [25..27)::2 - [hi] + MarkupTextLiteral - [25..27)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [27..28)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [28..31)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly25.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly25.stree.txt index 1cda25bc2..fb72d5009 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly25.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly25.stree.txt @@ -1,16 +1,49 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - catchAll - DoubleQuotes - Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:1 - SyntaxKind.Text;[hi]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [29..45) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [29..45) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..49)::49 - [

        words and spaces

        ] + MarkupBlock - [0..49)::49 + MarkupTagHelperElement - [0..49)::49 - p[StartTagAndEndTag] - pTagHelper - catchAllTagHelper + MarkupTagHelperStartTag - [0..29)::29 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [14..28)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [14..15)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [15..23)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [25..27)::2 + MarkupLiteralAttributeValue - [25..27)::2 - [hi] + MarkupTextLiteral - [25..27)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [27..28)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [28..29)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [29..45)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [45..49)::4 + MarkupTextLiteral - [45..49)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.cspans.txt index cbc340071..4a50e7e4a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.cspans.txt @@ -1,2 +1,3 @@ +Markup span at (12:0,12 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [42] ) Markup span at (21:0,21 [3] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [42] ) Markup span at (36:0,36 [2] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [42] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.stree.txt index c8516a833..ac47257b9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly26.stree.txt @@ -1,11 +1,51 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - catchAll - DoubleQuotes - Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:1 - SyntaxKind.Text;[hi]; +RazorDocument - [0..42)::42 - [
        ] + MarkupBlock - [0..42)::42 + MarkupTagHelperElement - [0..42)::42 - div[SelfClosing] - divTagHelper - catchAllTagHelper + MarkupTagHelperStartTag - [0..42)::42 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..13)::9 - style - DoubleQuotes - Unbound - [ style=""] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..12)::0 + MarkupTextLiteral - [12..12)::0 - [] + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [13..25)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..19)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [21..24)::3 + MarkupLiteralAttributeValue - [21..24)::3 - [btn] + MarkupTextLiteral - [21..24)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [25..39)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..34)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [35..36)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [36..38)::2 + MarkupLiteralAttributeValue - [36..38)::2 - [hi] + MarkupTextLiteral - [36..38)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [38..39)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [39..42)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.cspans.txt index 046bac01d..49b2350a0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.cspans.txt @@ -1,3 +1,4 @@ +Markup span at (12:0,12 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [63] ) Markup span at (21:0,21 [3] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [63] ) Markup span at (36:0,36 [2] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [63] ) Markup span at (41:0,41 [16] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [63] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.stree.txt index e31ee9f40..320b3d5ca 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly27.stree.txt @@ -1,18 +1,62 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - catchAll - DoubleQuotes - Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:1 - SyntaxKind.Text;[hi]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [41..57) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [41..57) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..63)::63 - [
        words and spaces
        ] + MarkupBlock - [0..63)::63 + MarkupTagHelperElement - [0..63)::63 - div[StartTagAndEndTag] - divTagHelper - catchAllTagHelper + MarkupTagHelperStartTag - [0..41)::41 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..13)::9 - style - DoubleQuotes - Unbound - [ style=""] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..12)::0 + MarkupTextLiteral - [12..12)::0 - [] + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [13..25)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..19)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [21..24)::3 + MarkupLiteralAttributeValue - [21..24)::3 - [btn] + MarkupTextLiteral - [21..24)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [25..39)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..34)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [35..36)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [36..38)::2 + MarkupLiteralAttributeValue - [36..38)::2 - [hi] + MarkupTextLiteral - [36..38)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [38..39)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [39..41)::2 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTextLiteral - [41..57)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [57..63)::6 + MarkupTextLiteral - [57..63)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.cspans.txt index 9197a8cdf..b76fbd29f 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.cspans.txt @@ -1,3 +1,4 @@ +Markup span at (12:0,12 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [65] ) Markup span at (21:0,21 [3] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [65] ) Markup span at (36:0,36 [1] ) (Accepts:None) - Parent: Markup block at (36:0,36 [2] ) Markup span at (37:0,37 [1] ) (Accepts:None) - Parent: Markup block at (36:0,36 [2] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.stree.txt index 4024d4f52..f95363ee2 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly28.stree.txt @@ -1,24 +1,67 @@ -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) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [@] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1 - SyntaxKind.Transition;[@]; - Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (38:0,38) - Tokens:1 - SyntaxKind.Text;[hi]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [43..59) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [43..59) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..65)::65 - [
        words and spaces
        ] + MarkupBlock - [0..65)::65 + MarkupTagHelperElement - [0..65)::65 - div[StartTagAndEndTag] - divTagHelper - catchAllTagHelper + MarkupTagHelperStartTag - [0..43)::43 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..13)::9 - style - DoubleQuotes - Unbound - [ style=""] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..12)::0 + MarkupTextLiteral - [12..12)::0 - [] + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [13..25)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..19)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [21..24)::3 + MarkupLiteralAttributeValue - [21..24)::3 - [btn] + MarkupTextLiteral - [21..24)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [25..41)::16 - catchAll - DoubleQuotes - Unbound - [ catchAll="@@hi"] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..34)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [35..36)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [36..40)::4 + MarkupBlock - [36..38)::2 + MarkupTextLiteral - [36..37)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupEphemeralTextLiteral - [37..38)::1 - [@] - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + MarkupLiteralAttributeValue - [38..40)::2 - [hi] + MarkupTextLiteral - [38..40)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [40..41)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [41..43)::2 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTextLiteral - [43..59)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [59..65)::6 + MarkupTextLiteral - [59..65)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly29.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly29.stree.txt index ec88fd192..3fc4b0d72 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly29.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly29.stree.txt @@ -1,40 +1,91 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (13:0,13) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (35:0,35) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (60:0,60) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [75..91) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [75..91) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..97)::97 - [
        words and spaces
        ] + MarkupBlock - [0..97)::97 + MarkupTagHelperElement - [0..97)::97 - div[StartTagAndEndTag] - divTagHelper - catchAllTagHelper + MarkupTagHelperStartTag - [0..75)::75 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..26)::22 - style - DoubleQuotes - Unbound - [ style="@DateTime.Now"] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..25)::13 + MarkupDynamicAttributeValue - [12..25)::13 - [@DateTime.Now] + GenericBlock - [12..25)::13 + CSharpCodeBlock - [12..25)::13 + CSharpImplicitExpression - [12..25)::13 + CSharpTransition - [12..13)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [13..25)::12 + CSharpCodeBlock - [13..25)::12 + CSharpExpressionLiteral - [13..25)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [25..26)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [26..48)::22 - class - DoubleQuotes - Unbound - [ class="@DateTime.Now"] + MarkupTextLiteral - [26..27)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [27..32)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [33..34)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [34..47)::13 + MarkupDynamicAttributeValue - [34..47)::13 - [@DateTime.Now] + GenericBlock - [34..47)::13 + CSharpCodeBlock - [34..47)::13 + CSharpImplicitExpression - [34..47)::13 + CSharpTransition - [34..35)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [35..47)::12 + CSharpCodeBlock - [35..47)::12 + CSharpExpressionLiteral - [35..47)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [47..48)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [48..73)::25 - catchAll - DoubleQuotes - Unbound - [ catchAll="@DateTime.Now"] + MarkupTextLiteral - [48..49)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [49..57)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [58..59)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [59..72)::13 + MarkupDynamicAttributeValue - [59..72)::13 - [@DateTime.Now] + GenericBlock - [59..72)::13 + CSharpCodeBlock - [59..72)::13 + CSharpImplicitExpression - [59..72)::13 + CSharpTransition - [59..60)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [60..72)::12 + CSharpCodeBlock - [60..72)::12 + CSharpExpressionLiteral - [60..72)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [72..73)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [73..75)::2 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTextLiteral - [75..91)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [91..97)::6 + MarkupTextLiteral - [91..97)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.stree.txt index 332bec95c..5e2f2113a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly3.stree.txt @@ -1,8 +1,9 @@ -Markup block - Gen - 7 - (0:0,0) - Tag block - Gen - 7 - (0:0,0) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..7)::7 - [
        ] + MarkupBlock - [0..7)::7 + MarkupTagBlock - [0..7)::7 - [
        ] + MarkupTextLiteral - [0..7)::7 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.cspans.txt index 787c31a99..9fec06bb5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.cspans.txt @@ -1,3 +1,4 @@ +Markup span at (12:0,12 [0] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [78] ) Markup span at (21:0,21 [3] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [78] ) Markup span at (36:0,36 [2] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [78] ) Markup span at (41:0,41 [5] ) (Accepts:Any) - Parent: Tag block at (0:0,0 [78] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.stree.txt index 6f9d64f7e..a9866a52e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly30.stree.txt @@ -1,28 +1,73 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - catchAll - DoubleQuotes - Markup span - Gen - [hi] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:1 - SyntaxKind.Text;[hi]; - SyntaxKind.HtmlTextLiteral - [words] - [41..46) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[words]; - Tag block - Gen - 8 - (46:0,46) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (46:0,46) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [and] - [54..57) - FullWidth: 3 - Slots: 1 - SyntaxKind.Text;[and]; - Tag block - Gen - 9 - (57:0,57) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (57:0,57) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [spaces] - [66..72) - FullWidth: 6 - Slots: 1 - SyntaxKind.Text;[spaces]; +RazorDocument - [0..78)::78 - [
        wordsandspaces
        ] + MarkupBlock - [0..78)::78 + MarkupTagHelperElement - [0..78)::78 - div[StartTagAndEndTag] - divTagHelper - catchAllTagHelper + MarkupTagHelperStartTag - [0..41)::41 + MarkupTextLiteral - [0..4)::4 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + MarkupTagHelperAttribute - [4..13)::9 - style - DoubleQuotes - Unbound - [ style=""] + MarkupTextLiteral - [4..5)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [5..10)::5 - [style] - Gen - SpanEditHandler;Accepts:Any + Text;[style]; + Equals;[=]; + MarkupTextLiteral - [11..12)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [12..12)::0 + MarkupTextLiteral - [12..12)::0 - [] + MarkupTextLiteral - [12..13)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [13..25)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [13..14)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [14..19)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [20..21)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [21..24)::3 + MarkupLiteralAttributeValue - [21..24)::3 - [btn] + MarkupTextLiteral - [21..24)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [24..25)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttribute - [25..39)::14 - catchAll - DoubleQuotes - Unbound - [ catchAll="hi"] + MarkupTextLiteral - [25..26)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [26..34)::8 - [catchAll] - Gen - SpanEditHandler;Accepts:Any + Text;[catchAll]; + Equals;[=]; + MarkupTextLiteral - [35..36)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [36..38)::2 + MarkupLiteralAttributeValue - [36..38)::2 - [hi] + MarkupTextLiteral - [36..38)::2 - [hi] - Gen - SpanEditHandler;Accepts:Any + Text;[hi]; + MarkupTextLiteral - [38..39)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [39..41)::2 - [ >] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + CloseAngle;[>]; + MarkupTextLiteral - [41..46)::5 - [words] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + MarkupTagBlock - [46..54)::8 - [] + MarkupTextLiteral - [46..54)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [54..57)::3 - [and] - Gen - SpanEditHandler;Accepts:Any + Text;[and]; + MarkupTagBlock - [57..66)::9 - [] + MarkupTextLiteral - [57..66)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [66..72)::6 - [spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[spaces]; + MarkupTagHelperEndTag - [72..78)::6 + MarkupTextLiteral - [72..78)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.stree.txt index d462f4ec3..ba660e300 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly4.stree.txt @@ -1,12 +1,13 @@ -Markup block - Gen - 11 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (5:0,5) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (5:0,5) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..11)::11 - [
        ] + MarkupBlock - [0..11)::11 + MarkupTagBlock - [0..5)::5 - [
        ] + MarkupTextLiteral - [0..5)::5 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTagBlock - [5..11)::6 - [
        ] + MarkupTextLiteral - [5..11)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.stree.txt index bb270e35d..a30484ca5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly5.stree.txt @@ -1,6 +1,25 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; +RazorDocument - [0..17)::17 - [

        ] + MarkupBlock - [0..17)::17 + MarkupTagHelperElement - [0..17)::17 - p[SelfClosing] - pTagHelper + MarkupTagHelperStartTag - [0..17)::17 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..17)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.stree.txt index 8fc7518aa..1aed039c4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly6.stree.txt @@ -1,13 +1,34 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (11:0,11) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; +RazorDocument - [0..27)::27 - [

        ] + MarkupBlock - [0..27)::27 + MarkupTagHelperElement - [0..27)::27 - p[SelfClosing] - pTagHelper + MarkupTagHelperStartTag - [0..27)::27 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..24)::22 - class - DoubleQuotes - Unbound - [ class="@DateTime.Now"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..23)::13 + MarkupDynamicAttributeValue - [10..23)::13 - [@DateTime.Now] + GenericBlock - [10..23)::13 + CSharpCodeBlock - [10..23)::13 + CSharpImplicitExpression - [10..23)::13 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [11..23)::12 + CSharpCodeBlock - [11..23)::12 + CSharpExpressionLiteral - [11..23)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [24..27)::3 - [ />] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.stree.txt index cc6c26331..ca02246ab 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly7.stree.txt @@ -1,13 +1,35 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [15..31) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [15..31) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..35)::35 - [

        words and spaces

        ] + MarkupBlock - [0..35)::35 + MarkupTagHelperElement - [0..35)::35 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [15..31)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [31..35)::4 + MarkupTextLiteral - [31..35)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.stree.txt index 74a1a3c71..9f13f60e7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly8.stree.txt @@ -1,20 +1,44 @@ -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) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [DateTime.Now] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (11:0,11) - Tokens:3 - SyntaxKind.Identifier;[DateTime]; - SyntaxKind.Dot;[.]; - SyntaxKind.Identifier;[Now]; - SyntaxKind.HtmlTextLiteral - [words and spaces] - [25..41) - FullWidth: 16 - Slots: 1 - SyntaxKind.List - [words and spaces] - [25..41) - FullWidth: 16 - Slots: 5 - SyntaxKind.Text;[words]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[and]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[spaces]; +RazorDocument - [0..45)::45 - [

        words and spaces

        ] + MarkupBlock - [0..45)::45 + MarkupTagHelperElement - [0..45)::45 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..25)::25 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..24)::22 - class - DoubleQuotes - Unbound - [ class="@DateTime.Now"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..23)::13 + MarkupDynamicAttributeValue - [10..23)::13 - [@DateTime.Now] + GenericBlock - [10..23)::13 + CSharpCodeBlock - [10..23)::13 + CSharpImplicitExpression - [10..23)::13 + CSharpTransition - [10..11)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [11..23)::12 + CSharpCodeBlock - [11..23)::12 + CSharpExpressionLiteral - [11..23)::12 - [DateTime.Now] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[DateTime]; + Dot;[.]; + Identifier;[Now]; + MarkupTextLiteral - [23..24)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [24..25)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [25..41)::16 - [words and spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + Whitespace;[ ]; + Text;[and]; + Whitespace;[ ]; + Text;[spaces]; + MarkupTagHelperEndTag - [41..45)::4 + MarkupTextLiteral - [41..45)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.stree.txt index e6e684963..18da3d211 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RequiredAttributeDescriptorsCreateTagHelperBlocksCorrectly9.stree.txt @@ -1,23 +1,46 @@ -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) - Tokens:1 - SyntaxKind.Text;[btn]; - SyntaxKind.HtmlTextLiteral - [words] - [15..20) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[words]; - Tag block - Gen - 8 - (20:0,20) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (20:0,20) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [and] - [28..31) - FullWidth: 3 - Slots: 1 - SyntaxKind.Text;[and]; - Tag block - Gen - 9 - (31:0,31) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [spaces] - [40..46) - FullWidth: 6 - Slots: 1 - SyntaxKind.Text;[spaces]; +RazorDocument - [0..50)::50 - [

        wordsandspaces

        ] + MarkupBlock - [0..50)::50 + MarkupTagHelperElement - [0..50)::50 - p[StartTagAndEndTag] - pTagHelper + MarkupTagHelperStartTag - [0..15)::15 + MarkupTextLiteral - [0..2)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + MarkupTagHelperAttribute - [2..14)::12 - class - DoubleQuotes - Unbound - [ class="btn"] + MarkupTextLiteral - [2..3)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTextLiteral - [3..8)::5 - [class] - Gen - SpanEditHandler;Accepts:Any + Text;[class]; + Equals;[=]; + MarkupTextLiteral - [9..10)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTagHelperAttributeValue - [10..13)::3 + MarkupLiteralAttributeValue - [10..13)::3 - [btn] + MarkupTextLiteral - [10..13)::3 - [btn] - Gen - SpanEditHandler;Accepts:Any + Text;[btn]; + MarkupTextLiteral - [13..14)::1 - ["] - Gen - SpanEditHandler;Accepts:Any + DoubleQuote;["]; + MarkupTextLiteral - [14..15)::1 - [>] - Gen - SpanEditHandler;Accepts:Any + CloseAngle;[>]; + MarkupTextLiteral - [15..20)::5 - [words] - Gen - SpanEditHandler;Accepts:Any + Text;[words]; + MarkupTagBlock - [20..28)::8 - [] + MarkupTextLiteral - [20..28)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [28..31)::3 - [and] - Gen - SpanEditHandler;Accepts:Any + Text;[and]; + MarkupTagBlock - [31..40)::9 - [] + MarkupTextLiteral - [31..40)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [40..46)::6 - [spaces] - Gen - SpanEditHandler;Accepts:Any + Text;[spaces]; + MarkupTagHelperEndTag - [46..50)::4 + MarkupTextLiteral - [46..50)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks1.stree.txt index 7eba221fe..c636cb3ea 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks1.stree.txt @@ -1,5 +1,26 @@ -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 -
        ...
        +RazorDocument - [0..18)::18 - [

        ] + MarkupBlock - [0..18)::18 + MarkupTagHelperElement - [0..18)::18 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..14)::11 - div[StartTagAndEndTag] - divtaghelper + MarkupTagHelperStartTag - [3..8)::5 + MarkupTextLiteral - [3..8)::5 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [8..14)::6 + MarkupTextLiteral - [8..14)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [14..18)::4 + MarkupTextLiteral - [14..18)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks2.stree.txt index c8f3670c6..ec545b9d1 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks2.stree.txt @@ -1,11 +1,31 @@ -Markup block - Gen - 30 - (0:0,0) - Tag block - Gen - 30 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [Hello World ] - [3..15) - FullWidth: 12 - Slots: 1 - SyntaxKind.List - [Hello World ] - [3..15) - FullWidth: 12 - Slots: 4 - SyntaxKind.Text;[Hello]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[World]; - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 11 - (15:0,15) - div - divtaghelper - StartTagAndEndTag -
        ...
        +RazorDocument - [0..30)::30 - [

        Hello World

        ] + MarkupBlock - [0..30)::30 + MarkupTagHelperElement - [0..30)::30 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..15)::12 - [Hello World ] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + Whitespace;[ ]; + Text;[World]; + Whitespace;[ ]; + MarkupTagHelperElement - [15..26)::11 - div[StartTagAndEndTag] - divtaghelper + MarkupTagHelperStartTag - [15..20)::5 + MarkupTextLiteral - [15..20)::5 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [20..26)::6 + MarkupTextLiteral - [20..26)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [26..30)::4 + MarkupTextLiteral - [26..30)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks3.stree.txt index 5fa917d8d..d07da514b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks3.stree.txt @@ -1,17 +1,58 @@ -Markup block - Gen - 43 - (0:0,0) - Tag block - Gen - 19 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [Hel] - [3..6) - FullWidth: 3 - Slots: 1 - SyntaxKind.Text;[Hel]; - Tag block - Gen - 9 - (6:0,6) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [lo] - [9..11) - FullWidth: 2 - Slots: 1 - SyntaxKind.Text;[lo]; - SyntaxKind.HtmlTextLiteral - [ ] - [19..20) - FullWidth: 1 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 23 - (20:0,20) - p - ptaghelper - StartTagAndEndTag -

        ...

        - Tag block - Gen - 16 - (23:0,23) - div - divtaghelper - StartTagAndEndTag -
        ...
        - SyntaxKind.HtmlTextLiteral - [World] - [28..33) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; +RazorDocument - [0..43)::43 - [

        Hel

        lo

        World

        ] + MarkupBlock - [0..43)::43 + MarkupTagHelperElement - [0..19)::19 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..6)::3 - [Hel] - Gen - SpanEditHandler;Accepts:Any + Text;[Hel]; + MarkupTagHelperElement - [6..15)::9 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [6..9)::3 + MarkupTextLiteral - [6..9)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [9..11)::2 - [lo] - Gen - SpanEditHandler;Accepts:Any + Text;[lo]; + MarkupTagHelperEndTag - [11..15)::4 + MarkupTextLiteral - [11..15)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [15..19)::4 + MarkupTextLiteral - [15..19)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [19..20)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [20..43)::23 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [20..23)::3 + MarkupTextLiteral - [20..23)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [23..39)::16 - div[StartTagAndEndTag] - divtaghelper + MarkupTagHelperStartTag - [23..28)::5 + MarkupTextLiteral - [23..28)::5 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [28..33)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagHelperEndTag - [33..39)::6 + MarkupTextLiteral - [33..39)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [39..43)::4 + MarkupTextLiteral - [39..43)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks4.stree.txt index c938c8673..4a0b88b6b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/RewritesNestedTagHelperTagBlocks4.stree.txt @@ -1,35 +1,56 @@ -Markup block - Gen - 55 - (0:0,0) - Tag block - Gen - 29 - (0:0,0) - p - ptaghelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [Hel] - [3..6) - FullWidth: 3 - Slots: 1 - SyntaxKind.Text;[Hel]; - Tag block - Gen - 8 - (6:0,6) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (6:0,6) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [lo] - [14..16) - FullWidth: 2 - Slots: 1 - SyntaxKind.Text;[lo]; - Tag block - Gen - 9 - (16:0,16) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [ ] - [29..30) - FullWidth: 1 - Slots: 1 - SyntaxKind.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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[span]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [World] - [39..44) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[World]; - Tag block - Gen - 7 - (44:0,44) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (44:0,44) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[span]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..55)::55 - [

        Hello

        World

        ] + MarkupBlock - [0..55)::55 + MarkupTagHelperElement - [0..29)::29 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..6)::3 - [Hel] - Gen - SpanEditHandler;Accepts:Any + Text;[Hel]; + MarkupTagBlock - [6..14)::8 - [] + MarkupTextLiteral - [6..14)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [14..16)::2 - [lo] - Gen - SpanEditHandler;Accepts:Any + Text;[lo]; + MarkupTagBlock - [16..25)::9 - [] + MarkupTextLiteral - [16..25)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [25..29)::4 + MarkupTextLiteral - [25..29)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [29..30)::1 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [30..55)::25 - p[StartTagAndEndTag] - ptaghelper + MarkupTagHelperStartTag - [30..33)::3 + MarkupTextLiteral - [30..33)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [33..39)::6 - [] + MarkupTextLiteral - [33..39)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[span]; + CloseAngle;[>]; + MarkupTextLiteral - [39..44)::5 - [World] - Gen - SpanEditHandler;Accepts:Any + Text;[World]; + MarkupTagBlock - [44..51)::7 - [] + MarkupTextLiteral - [44..51)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[span]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [51..55)::4 + MarkupTextLiteral - [51..55)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren1.stree.txt index e29f5606f..8bb901409 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren1.stree.txt @@ -1,5 +1,22 @@ -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 -
        +RazorDocument - [0..13)::13 - [


        ] + MarkupBlock - [0..13)::13 + MarkupTagHelperElement - [0..13)::13 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..9)::6 - br[SelfClosing] - BRTagHelper + MarkupTagHelperStartTag - [3..9)::6 + MarkupTextLiteral - [3..9)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [9..13)::4 + MarkupTextLiteral - [9..13)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren10.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren10.stree.txt index 8df037993..84b878746 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren10.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren10.stree.txt @@ -1,31 +1,61 @@ -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 - ... - SyntaxKind.HtmlTextLiteral - [Title:] - [11..17) - FullWidth: 6 - Slots: 1 - SyntaxKind.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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[em]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [A Very Cool] - [25..36) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [A Very Cool] - [25..36) - FullWidth: 11 - Slots: 5 - SyntaxKind.Text;[A]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Very]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Cool]; - Tag block - Gen - 5 - (36:0,36) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[em]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (50:0,50) - br - BRTagHelper - SelfClosing -
        - SyntaxKind.HtmlTextLiteral - [Something] - [56..65) - FullWidth: 9 - Slots: 1 - SyntaxKind.Text;[Something]; +RazorDocument - [0..69)::69 - [

        Title:
        A Very Cool

        Something

        ] + MarkupBlock - [0..69)::69 + MarkupTagHelperElement - [0..69)::69 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..50)::47 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [11..17)::6 - [Title:] - Gen - SpanEditHandler;Accepts:Any + Text;[Title:]; + MarkupTagHelperElement - [17..21)::4 - br[StartTagOnly] - BRTagHelper + MarkupTagHelperStartTag - [17..21)::4 + MarkupTextLiteral - [17..21)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTagBlock - [21..25)::4 - [] + MarkupTextLiteral - [21..25)::4 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[em]; + CloseAngle;[>]; + MarkupTextLiteral - [25..36)::11 - [A Very Cool] - Gen - SpanEditHandler;Accepts:Any + Text;[A]; + Whitespace;[ ]; + Text;[Very]; + Whitespace;[ ]; + Text;[Cool]; + MarkupTagBlock - [36..41)::5 - [] + MarkupTextLiteral - [36..41)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[em]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [41..50)::9 + MarkupTextLiteral - [41..50)::9 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperElement - [50..56)::6 - br[SelfClosing] - BRTagHelper + MarkupTagHelperStartTag - [50..56)::6 + MarkupTextLiteral - [50..56)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [56..65)::9 - [Something] - Gen - SpanEditHandler;Accepts:Any + Text;[Something]; + MarkupTagHelperEndTag - [65..69)::4 + MarkupTextLiteral - [65..69)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren11.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren11.stree.txt index e4506e296..68b47c8c9 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren11.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren11.stree.txt @@ -1,40 +1,60 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[custom]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [Title:] - [11..17) - FullWidth: 6 - Slots: 1 - SyntaxKind.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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[em]; - SyntaxKind.CloseAngle;[>]; - SyntaxKind.HtmlTextLiteral - [A Very Cool] - [25..36) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [A Very Cool] - [25..36) - FullWidth: 11 - Slots: 5 - SyntaxKind.Text;[A]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Very]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Cool]; - Tag block - Gen - 5 - (36:0,36) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (36:0,36) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[em]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (41:0,41) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (41:0,41) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[custom]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 6 - (50:0,50) - br - BRTagHelper - SelfClosing -
        - SyntaxKind.HtmlTextLiteral - [Something] - [56..65) - FullWidth: 9 - Slots: 1 - SyntaxKind.Text;[Something]; +RazorDocument - [0..69)::69 - [

        Title:
        A Very Cool

        Something

        ] + MarkupBlock - [0..69)::69 + MarkupTagHelperElement - [0..69)::69 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..11)::8 - [] + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[custom]; + CloseAngle;[>]; + MarkupTextLiteral - [11..17)::6 - [Title:] - Gen - SpanEditHandler;Accepts:Any + Text;[Title:]; + MarkupTagHelperElement - [17..21)::4 - br[StartTagOnly] - BRTagHelper + MarkupTagHelperStartTag - [17..21)::4 + MarkupTextLiteral - [17..21)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTagBlock - [21..25)::4 - [] + MarkupTextLiteral - [21..25)::4 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[em]; + CloseAngle;[>]; + MarkupTextLiteral - [25..36)::11 - [A Very Cool] - Gen - SpanEditHandler;Accepts:Any + Text;[A]; + Whitespace;[ ]; + Text;[Very]; + Whitespace;[ ]; + Text;[Cool]; + MarkupTagBlock - [36..41)::5 - [] + MarkupTextLiteral - [36..41)::5 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[em]; + CloseAngle;[>]; + MarkupTagBlock - [41..50)::9 - [
        ] + MarkupTextLiteral - [41..50)::9 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[custom]; + CloseAngle;[>]; + MarkupTagHelperElement - [50..56)::6 - br[SelfClosing] - BRTagHelper + MarkupTagHelperStartTag - [50..56)::6 + MarkupTextLiteral - [50..56)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [56..65)::9 - [Something] - Gen - SpanEditHandler;Accepts:Any + Text;[Something]; + MarkupTagHelperEndTag - [65..69)::4 + MarkupTextLiteral - [65..69)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren12.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren12.stree.txt index 297c4e8e7..8305e3b01 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren12.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren12.stree.txt @@ -1,7 +1,18 @@ -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 - [] + MarkupBlock - [0..9)::9 + MarkupTagHelperElement - [0..9)::9 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..5)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagHelperEndTag - [5..9)::4 + MarkupTextLiteral - [5..9)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren13.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren13.stree.txt index f742691a6..693ab1c70 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren13.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren13.stree.txt @@ -1,6 +1,17 @@ -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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; +RazorDocument - [0..8)::8 - [

        <

        ] + MarkupBlock - [0..8)::8 + MarkupTagHelperElement - [0..8)::8 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..4)::1 - [<] + MarkupTextLiteral - [3..4)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperEndTag - [4..8)::4 + MarkupTextLiteral - [4..8)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren14.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren14.stree.txt index 422ea4afd..4f584753c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren14.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren14.stree.txt @@ -1,31 +1,66 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[custom]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 4 - (11:0,11) - br - BRTagHelper - StartTagOnly -
        - SyntaxKind.HtmlTextLiteral - [:] - [15..16) - FullWidth: 1 - Slots: 1 - SyntaxKind.Text;[:]; - Tag block - Gen - 39 - (16:0,16) - strong - StrongTagHelper - StartTagAndEndTag - ... - Tag block - Gen - 22 - (24:0,24) - strong - StrongTagHelper - StartTagAndEndTag - ... - SyntaxKind.HtmlTextLiteral - [Hello] - [32..37) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[Hello]; - SyntaxKind.HtmlTextLiteral - [:] - [55..56) - FullWidth: 1 - Slots: 1 - SyntaxKind.Text;[:]; - Tag block - Gen - 7 - (56:0,56) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (56:0,56) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (63:0,63) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (63:0,63) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[custom]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..76)::76 - [


        :Hello:

        ] + MarkupBlock - [0..76)::76 + MarkupTagHelperElement - [0..76)::76 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..11)::8 - [] + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[custom]; + CloseAngle;[>]; + MarkupTagHelperElement - [11..15)::4 - br[StartTagOnly] - BRTagHelper + MarkupTagHelperStartTag - [11..15)::4 + MarkupTextLiteral - [11..15)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTextLiteral - [15..16)::1 - [:] - Gen - SpanEditHandler;Accepts:Any + Text;[:]; + MarkupTagHelperElement - [16..55)::39 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [16..24)::8 + MarkupTextLiteral - [16..24)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperElement - [24..46)::22 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [24..32)::8 + MarkupTextLiteral - [24..32)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [32..37)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperEndTag - [37..46)::9 + MarkupTextLiteral - [37..46)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [46..55)::9 + MarkupTextLiteral - [46..55)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [55..56)::1 - [:] - Gen - SpanEditHandler;Accepts:Any + Text;[:]; + MarkupTagBlock - [56..63)::7 - [] + MarkupTextLiteral - [56..63)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagBlock - [63..72)::9 - [
        ] + MarkupTextLiteral - [63..72)::9 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[custom]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [72..76)::4 + MarkupTextLiteral - [72..76)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren2.stree.txt index 4d6830116..400f13a49 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren2.stree.txt @@ -1,9 +1,26 @@ -Markup block - Gen - 17 - (0:0,0) - Tag block - Gen - 17 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [LF] - [3..5) - FullWidth: 2 - Slots: 1 - SyntaxKind.NewLine;[LF]; - Tag block - Gen - 6 - (5:1,0) - br - BRTagHelper - SelfClosing -
        - SyntaxKind.HtmlTextLiteral - [LF] - [11..13) - FullWidth: 2 - Slots: 1 - SyntaxKind.NewLine;[LF]; +RazorDocument - [0..17)::17 - [

        LF
        LF

        ] + MarkupBlock - [0..17)::17 + MarkupTagHelperElement - [0..17)::17 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..5)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagHelperElement - [5..11)::6 - br[SelfClosing] - BRTagHelper + MarkupTagHelperStartTag - [5..11)::6 + MarkupTextLiteral - [5..11)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [11..13)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagHelperEndTag - [13..17)::4 + MarkupTextLiteral - [13..17)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren3.stree.txt index 3f5750436..aefe57965 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren3.stree.txt @@ -1,5 +1,20 @@ -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 -
        +RazorDocument - [0..11)::11 - [


        ] + MarkupBlock - [0..11)::11 + MarkupTagHelperElement - [0..11)::11 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..7)::4 - br[StartTagOnly] - BRTagHelper + MarkupTagHelperStartTag - [3..7)::4 + MarkupTextLiteral - [3..7)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [7..11)::4 + MarkupTextLiteral - [7..11)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren4.stree.txt index d22c234e5..e8acd8e66 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren4.stree.txt @@ -1,5 +1,16 @@ -Markup block - Gen - 12 - (0:0,0) - Tag block - Gen - 12 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [Hello] - [3..8) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[Hello]; +RazorDocument - [0..12)::12 - [

        Hello

        ] + MarkupBlock - [0..12)::12 + MarkupTagHelperElement - [0..12)::12 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..8)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperEndTag - [8..12)::4 + MarkupTextLiteral - [8..12)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren5.stree.txt index bc2c07615..b89b00553 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren5.stree.txt @@ -1,10 +1,21 @@ -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) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[hr]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..13)::13 - [


        ] + MarkupBlock - [0..13)::13 + MarkupTagHelperElement - [0..13)::13 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..9)::6 - [


        ] + MarkupTextLiteral - [3..9)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[hr]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [9..13)::4 + MarkupTextLiteral - [9..13)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren6.stree.txt index 04b573dd1..55e5d05d5 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren6.stree.txt @@ -1,7 +1,22 @@ -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 -
        - SyntaxKind.HtmlTextLiteral - [Hello] - [7..12) - FullWidth: 5 - Slots: 1 - SyntaxKind.Text;[Hello]; +RazorDocument - [0..16)::16 - [


        Hello

        ] + MarkupBlock - [0..16)::16 + MarkupTagHelperElement - [0..16)::16 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..7)::4 - br[StartTagOnly] - BRTagHelper + MarkupTagHelperStartTag - [3..7)::4 + MarkupTextLiteral - [3..7)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTextLiteral - [7..12)::5 - [Hello] - Gen - SpanEditHandler;Accepts:Any + Text;[Hello]; + MarkupTagHelperEndTag - [12..16)::4 + MarkupTextLiteral - [12..16)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren7.stree.txt index 7d7350959..449ecd9ff 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren7.stree.txt @@ -1,11 +1,38 @@ -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 - ... - SyntaxKind.HtmlTextLiteral - [Title:] - [11..17) - FullWidth: 6 - Slots: 1 - SyntaxKind.Text;[Title:]; - Tag block - Gen - 6 - (26:0,26) - br - BRTagHelper - SelfClosing -
        - SyntaxKind.HtmlTextLiteral - [Something] - [32..41) - FullWidth: 9 - Slots: 1 - SyntaxKind.Text;[Something]; +RazorDocument - [0..45)::45 - [

        Title:
        Something

        ] + MarkupBlock - [0..45)::45 + MarkupTagHelperElement - [0..45)::45 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..26)::23 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [11..17)::6 - [Title:] - Gen - SpanEditHandler;Accepts:Any + Text;[Title:]; + MarkupTagHelperEndTag - [17..26)::9 + MarkupTextLiteral - [17..26)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperElement - [26..32)::6 - br[SelfClosing] - BRTagHelper + MarkupTagHelperStartTag - [26..32)::6 + MarkupTextLiteral - [26..32)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [32..41)::9 - [Something] - Gen - SpanEditHandler;Accepts:Any + Text;[Something]; + MarkupTagHelperEndTag - [41..45)::4 + MarkupTextLiteral - [41..45)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren8.stree.txt index 7d7350959..449ecd9ff 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren8.stree.txt @@ -1,11 +1,38 @@ -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 - ... - SyntaxKind.HtmlTextLiteral - [Title:] - [11..17) - FullWidth: 6 - Slots: 1 - SyntaxKind.Text;[Title:]; - Tag block - Gen - 6 - (26:0,26) - br - BRTagHelper - SelfClosing -
        - SyntaxKind.HtmlTextLiteral - [Something] - [32..41) - FullWidth: 9 - Slots: 1 - SyntaxKind.Text;[Something]; +RazorDocument - [0..45)::45 - [

        Title:
        Something

        ] + MarkupBlock - [0..45)::45 + MarkupTagHelperElement - [0..45)::45 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..26)::23 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [11..17)::6 - [Title:] - Gen - SpanEditHandler;Accepts:Any + Text;[Title:]; + MarkupTagHelperEndTag - [17..26)::9 + MarkupTextLiteral - [17..26)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperElement - [26..32)::6 - br[SelfClosing] - BRTagHelper + MarkupTagHelperStartTag - [26..32)::6 + MarkupTextLiteral - [26..32)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [32..41)::9 - [Something] - Gen - SpanEditHandler;Accepts:Any + Text;[Something]; + MarkupTagHelperEndTag - [41..45)::4 + MarkupTextLiteral - [41..45)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren9.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren9.stree.txt index 82426967a..d41c4ed62 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren9.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsAllowedChildren9.stree.txt @@ -1,17 +1,43 @@ -Markup block - Gen - 51 - (0:0,0) - Tag block - Gen - 51 - (0:0,0) - p - PTagHelper - StartTagAndEndTag -

        ...

        - SyntaxKind.HtmlTextLiteral - [ ] - [3..5) - FullWidth: 2 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 23 - (5:0,5) - strong - StrongTagHelper - StartTagAndEndTag - ... - SyntaxKind.HtmlTextLiteral - [Title:] - [13..19) - FullWidth: 6 - Slots: 1 - SyntaxKind.Text;[Title:]; - SyntaxKind.HtmlTextLiteral - [ ] - [28..30) - FullWidth: 2 - Slots: 1 - SyntaxKind.Whitespace;[ ]; - Tag block - Gen - 6 - (30:0,30) - br - BRTagHelper - SelfClosing -
        - SyntaxKind.HtmlTextLiteral - [ Something] - [36..47) - FullWidth: 11 - Slots: 1 - SyntaxKind.List - [ Something] - [36..47) - FullWidth: 11 - Slots: 2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[Something]; +RazorDocument - [0..51)::51 - [

        Title:
        Something

        ] + MarkupBlock - [0..51)::51 + MarkupTagHelperElement - [0..51)::51 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTextLiteral - [3..5)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [5..28)::23 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [5..13)::8 + MarkupTextLiteral - [5..13)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [13..19)::6 - [Title:] - Gen - SpanEditHandler;Accepts:Any + Text;[Title:]; + MarkupTagHelperEndTag - [19..28)::9 + MarkupTextLiteral - [19..28)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTextLiteral - [28..30)::2 - [ ] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + MarkupTagHelperElement - [30..36)::6 - br[SelfClosing] - BRTagHelper + MarkupTagHelperStartTag - [30..36)::6 + MarkupTextLiteral - [30..36)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTextLiteral - [36..47)::11 - [ Something] - Gen - SpanEditHandler;Accepts:Any + Whitespace;[ ]; + Text;[Something]; + MarkupTagHelperEndTag - [47..51)::4 + MarkupTextLiteral - [47..51)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent1.stree.txt index 9fd8ce0f9..482ce72d7 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent1.stree.txt @@ -1,12 +1,13 @@ -Markup block - Gen - 17 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (8:0,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..17)::17 - [] + MarkupBlock - [0..17)::17 + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [0..8)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [8..17)::9 - [] + MarkupTextLiteral - [8..17)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent2.stree.txt index 83c4bcba8..08b6e0744 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent2.stree.txt @@ -1,5 +1,26 @@ -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 - ... +RazorDocument - [0..24)::24 - [

        ] + MarkupBlock - [0..24)::24 + MarkupTagHelperElement - [0..24)::24 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..20)::17 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [11..20)::9 + MarkupTextLiteral - [11..20)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [20..24)::4 + MarkupTextLiteral - [20..24)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent3.stree.txt index b1b5ce01f..0d08c5169 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent3.stree.txt @@ -1,14 +1,25 @@ -Markup block - Gen - 28 - (0:0,0) - Tag block - Gen - 5 - (0:0,0) - Markup span - Gen - [
        ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[div]; - SyntaxKind.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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[div]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..28)::28 - [
        ] + MarkupBlock - [0..28)::28 + MarkupTagBlock - [0..5)::5 - [
        ] + MarkupTextLiteral - [0..5)::5 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTagHelperElement - [5..22)::17 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [5..13)::8 + MarkupTextLiteral - [5..13)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [13..22)::9 + MarkupTextLiteral - [13..22)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [22..28)::6 - [
        ] + MarkupTextLiteral - [22..28)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent4.stree.txt index 4c965f4a5..7107cc6aa 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent4.stree.txt @@ -1,23 +1,24 @@ -Markup block - Gen - 34 - (0:0,0) - Tag block - Gen - 8 - (0:0,0) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 8 - (8:0,8) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (16:0,16) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (25:0,25) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..34)::34 - [] + MarkupBlock - [0..34)::34 + MarkupTagBlock - [0..8)::8 - [] + MarkupTextLiteral - [0..8)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [8..16)::8 - [] + MarkupTextLiteral - [8..16)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [16..25)::9 - [] + MarkupTextLiteral - [16..25)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [25..34)::9 - [] + MarkupTextLiteral - [25..34)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent5.stree.txt index ef9490785..bc8a5c19c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedRequiredParent5.stree.txt @@ -1,16 +1,37 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (19:0,19) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (19:0,19) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..41)::41 - [

        ] + MarkupBlock - [0..41)::41 + MarkupTagHelperElement - [0..41)::41 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..37)::34 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [11..19)::8 - [] + MarkupTextLiteral - [11..19)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [19..28)::9 - [] + MarkupTextLiteral - [19..28)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [28..37)::9 + MarkupTextLiteral - [28..37)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [37..41)::4 + MarkupTextLiteral - [37..41)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent1.stree.txt index 1ab6c121d..1adcc775e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent1.stree.txt @@ -1,14 +1,19 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..24)::24 - [] + MarkupBlock - [0..24)::24 + MarkupTagHelperElement - [0..7)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [0..7)::7 + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagBlock - [7..15)::8 - [] + MarkupTextLiteral - [7..15)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [15..24)::9 - [] + MarkupTextLiteral - [15..24)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent2.stree.txt index 280c9a6d7..481e713ac 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent2.stree.txt @@ -1,7 +1,32 @@ -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 - ... +RazorDocument - [0..31)::31 - [

        ] + MarkupBlock - [0..31)::31 + MarkupTagHelperElement - [0..31)::31 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..10)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [3..10)::7 + MarkupTextLiteral - [3..10)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagHelperElement - [10..27)::17 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [10..18)::8 + MarkupTextLiteral - [10..18)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [18..27)::9 + MarkupTextLiteral - [18..27)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [27..31)::4 + MarkupTextLiteral - [27..31)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent3.stree.txt index 7243ec7a3..04a257b7b 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent3.stree.txt @@ -1,10 +1,31 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[br]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 17 - (7:0,7) - strong - StrongTagHelper - StartTagAndEndTag - ... +RazorDocument - [0..28)::28 - [


        ] + MarkupBlock - [0..28)::28 + MarkupTagHelperElement - [0..28)::28 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..7)::4 - [
        ] + MarkupTextLiteral - [3..7)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTagHelperElement - [7..24)::17 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [7..15)::8 + MarkupTextLiteral - [7..15)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [15..24)::9 + MarkupTextLiteral - [15..24)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [24..28)::4 + MarkupTextLiteral - [24..28)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent4.stree.txt index b27259b12..823a54af0 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent4.stree.txt @@ -1,12 +1,43 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[br]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 17 - (14:0,14) - strong - StrongTagHelper - StartTagAndEndTag - ... +RazorDocument - [0..35)::35 - [


        ] + MarkupBlock - [0..35)::35 + MarkupTagHelperElement - [0..35)::35 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..14)::11 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [3..6)::3 + MarkupTextLiteral - [3..6)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [6..10)::4 - [
        ] + MarkupTextLiteral - [6..10)::4 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [10..14)::4 + MarkupTextLiteral - [10..14)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [14..31)::17 - strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [14..22)::8 + MarkupTextLiteral - [14..22)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [22..31)::9 + MarkupTextLiteral - [22..31)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [31..35)::4 + MarkupTextLiteral - [31..35)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent5.stree.txt index 1ab6c121d..1adcc775e 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent5.stree.txt @@ -1,14 +1,19 @@ -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) - Tokens:3 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (15:0,15) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..24)::24 - [] + MarkupBlock - [0..24)::24 + MarkupTagHelperElement - [0..7)::7 - input[StartTagOnly] - InputTagHelper + MarkupTagHelperStartTag - [0..7)::7 + MarkupTextLiteral - [0..7)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + CloseAngle;[>]; + MarkupTagBlock - [7..15)::8 - [] + MarkupTextLiteral - [7..15)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [15..24)::9 - [] + MarkupTextLiteral - [15..24)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent6.stree.txt index 377fb3c34..286f87c90 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent6.stree.txt @@ -1,7 +1,30 @@ -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 - +RazorDocument - [0..26)::26 - [

        ] + MarkupBlock - [0..26)::26 + MarkupTagHelperElement - [0..26)::26 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..12)::9 - input[SelfClosing] - InputTagHelper + MarkupTagHelperStartTag - [3..12)::9 + MarkupTextLiteral - [3..12)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[input]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagHelperElement - [12..22)::10 - strong[SelfClosing] - StrongTagHelper + MarkupTagHelperStartTag - [12..22)::10 + MarkupTextLiteral - [12..22)::10 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [22..26)::4 + MarkupTextLiteral - [22..26)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent7.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent7.stree.txt index 2ad65df3f..272441bde 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent7.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent7.stree.txt @@ -1,12 +1,29 @@ -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) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[br]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 10 - (9:0,9) - strong - StrongTagHelper - SelfClosing - +RazorDocument - [0..23)::23 - [


        ] + MarkupBlock - [0..23)::23 + MarkupTagHelperElement - [0..23)::23 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..9)::6 - [
        ] + MarkupTextLiteral - [3..9)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagHelperElement - [9..19)::10 - strong[SelfClosing] - StrongTagHelper + MarkupTagHelperStartTag - [9..19)::10 + MarkupTextLiteral - [9..19)::10 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [19..23)::4 + MarkupTextLiteral - [19..23)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent8.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent8.stree.txt index 8f5688bdd..71a820bd4 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent8.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNestedVoidSelfClosingRequiredParent8.stree.txt @@ -1,14 +1,41 @@ -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) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[br]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 10 - (16:0,16) - strong - StrongTagHelper - SelfClosing - +RazorDocument - [0..30)::30 - [


        ] + MarkupBlock - [0..30)::30 + MarkupTagHelperElement - [0..30)::30 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..16)::13 - p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [3..6)::3 + MarkupTextLiteral - [3..6)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [6..12)::6 - [
        ] + MarkupTextLiteral - [6..12)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[br]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [12..16)::4 + MarkupTextLiteral - [12..16)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [16..26)::10 - strong[SelfClosing] - StrongTagHelper + MarkupTagHelperStartTag - [16..26)::10 + MarkupTextLiteral - [16..26)::10 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + Whitespace;[ ]; + ForwardSlash;[/]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [26..30)::4 + MarkupTextLiteral - [26..30)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNullTagNameWithAllowedChildrenForCatchAll.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNullTagNameWithAllowedChildrenForCatchAll.stree.txt index 087bf2552..4c501a225 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNullTagNameWithAllowedChildrenForCatchAll.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNullTagNameWithAllowedChildrenForCatchAll.stree.txt @@ -1,7 +1,18 @@ -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 - [] + MarkupBlock - [0..9)::9 + MarkupTagHelperElement - [0..9)::9 - p[StartTagAndEndTag] - PTagHelper - CatchAllTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [3..5)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagHelperEndTag - [5..9)::4 + MarkupTextLiteral - [5..9)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNullTagNameWithAllowedChildrenForCatchAllWithPrefix.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNullTagNameWithAllowedChildrenForCatchAllWithPrefix.stree.txt index eb1d86560..dc937c139 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNullTagNameWithAllowedChildrenForCatchAllWithPrefix.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsNullTagNameWithAllowedChildrenForCatchAllWithPrefix.stree.txt @@ -1,7 +1,18 @@ -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 - [] + MarkupBlock - [0..15)::15 + MarkupTagHelperElement - [0..15)::15 - th:p[StartTagAndEndTag] - PTagHelper - CatchAllTagHelper + MarkupTagHelperStartTag - [0..6)::6 + MarkupTextLiteral - [0..6)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:p]; + CloseAngle;[>]; + MarkupTagBlock - [6..8)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagHelperEndTag - [8..15)::7 + MarkupTextLiteral - [8..15)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags1.stree.txt index cb816d8ad..0d18d3c33 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags1.stree.txt @@ -1,5 +1,14 @@ -Markup block - 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 - +RazorDocument - [0..11)::11 - [

        ] + MarkupBlock - [0..11)::11 + MarkupTagHelperElement - [0..11)::11 - p[StartTagAndEndTag] - PTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..11)::8 - strong[StartTagAndEndTag] - StrongTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags2.stree.txt index c413ca371..d461b0621 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags2.stree.txt @@ -1,5 +1,20 @@ -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 - ... +RazorDocument - [0..20)::20 - [

        ] + MarkupBlock - [0..20)::20 + MarkupTagHelperElement - [0..20)::20 - p[StartTagAndEndTag] - PTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..20)::17 - strong[StartTagAndEndTag] - StrongTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [11..20)::9 + MarkupTextLiteral - [11..20)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags3.stree.txt index 2d2b30212..c052a7666 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags3.stree.txt @@ -1,7 +1,26 @@ -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 - +RazorDocument - [0..23)::23 - [

        ] + MarkupBlock - [0..23)::23 + MarkupTagHelperElement - [0..15)::15 - p[StartTagAndEndTag] - PTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [0..3)::3 + MarkupTextLiteral - [0..3)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [3..11)::8 - strong[StartTagAndEndTag] - StrongTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [3..11)::8 + MarkupTextLiteral - [3..11)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [11..15)::4 + MarkupTextLiteral - [11..15)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagHelperElement - [15..23)::8 - strong[StartTagAndEndTag] - StrongTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [15..23)::8 + MarkupTextLiteral - [15..23)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags4.stree.txt index 446e5d6f5..4d3b6a252 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags4.stree.txt @@ -1,21 +1,41 @@ -Markup block - Gen - 36 - (0:0,0) - Tag block - Gen - 1 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..36)::36 - [<

        <

        ] + MarkupBlock - [0..36)::36 + MarkupTagBlock - [0..1)::1 - [<] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [1..36)::35 - p[StartTagAndEndTag] - PTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [1..4)::3 + MarkupTextLiteral - [1..4)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [4..5)::1 - [<] + MarkupTextLiteral - [4..5)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [5..23)::18 - strong[StartTagAndEndTag] - StrongTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [5..13)::8 + MarkupTextLiteral - [5..13)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [13..15)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagHelperEndTag - [15..23)::8 + MarkupTextLiteral - [15..23)::8 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + MarkupTagBlock - [23..32)::9 - [] + MarkupTextLiteral - [23..32)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [32..36)::4 + MarkupTextLiteral - [32..36)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags5.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags5.stree.txt index e97170dc3..9aac8c374 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags5.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags5.stree.txt @@ -1,21 +1,42 @@ -Markup block - Gen - 37 - (0:0,0) - Tag block - Gen - 1 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[strong]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..37)::37 - [<

        <

        ] + MarkupBlock - [0..37)::37 + MarkupTagBlock - [0..1)::1 - [<] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [1..37)::36 - p[StartTagAndEndTag] - PTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [1..4)::3 + MarkupTextLiteral - [1..4)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [4..5)::1 - [<] + MarkupTextLiteral - [4..5)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [5..24)::19 - strong[StartTagAndEndTag] - StrongTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [5..13)::8 + MarkupTextLiteral - [5..13)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [13..15)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagHelperEndTag - [15..24)::9 + MarkupTextLiteral - [15..24)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagBlock - [24..33)::9 - [] + MarkupTextLiteral - [24..33)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [33..37)::4 + MarkupTextLiteral - [33..37)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags6.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags6.stree.txt index 0dcb4d95d..c51a71148 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags6.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsPartialRequiredParentTags6.stree.txt @@ -1,24 +1,45 @@ -Markup block - Gen - 38 - (0:0,0) - Tag block - Gen - 1 - (0:0,0) - Markup span - Gen - [<] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.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) - Tokens:1 - SyntaxKind.OpenAngle;[<]; - Tag block - Gen - 9 - (25:0,25) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (25:0,25) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[custom]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..38)::38 - [<

        <

        ] + MarkupBlock - [0..38)::38 + MarkupTagBlock - [0..1)::1 - [<] + MarkupTextLiteral - [0..1)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [1..38)::37 - p[StartTagAndEndTag] - PTagHelper - CatchALlTagHelper + MarkupTagHelperStartTag - [1..4)::3 + MarkupTextLiteral - [1..4)::3 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [4..5)::1 - [<] + MarkupTextLiteral - [4..5)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperElement - [5..25)::20 - custom[StartTagAndEndTag] - CatchALlTagHelper + MarkupTagHelperStartTag - [5..13)::8 + MarkupTextLiteral - [5..13)::8 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[custom]; + CloseAngle;[>]; + MarkupTagBlock - [13..15)::2 - [ - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + MarkupTagBlock - [15..16)::1 - [<] + MarkupTextLiteral - [15..16)::1 - [<] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + MarkupTagHelperEndTag - [16..25)::9 + MarkupTextLiteral - [16..25)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[custom]; + CloseAngle;[>]; + MarkupTagBlock - [25..34)::9 - [] + MarkupTextLiteral - [25..34)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[custom]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [34..38)::4 + MarkupTextLiteral - [34..38)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelperPrefixAndAllowedChildren.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelperPrefixAndAllowedChildren.stree.txt index 921662bbf..72123df7a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelperPrefixAndAllowedChildren.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelperPrefixAndAllowedChildren.stree.txt @@ -1,5 +1,26 @@ -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 - ... +RazorDocument - [0..36)::36 - [] + MarkupBlock - [0..36)::36 + MarkupTagHelperElement - [0..36)::36 - th:p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..6)::6 + MarkupTextLiteral - [0..6)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:p]; + CloseAngle;[>]; + MarkupTagHelperElement - [6..29)::23 - th:strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [6..17)::11 + MarkupTextLiteral - [6..17)::11 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [17..29)::12 + MarkupTextLiteral - [17..29)::12 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [29..36)::7 + MarkupTextLiteral - [29..36)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.stree.txt index 921662bbf..72123df7a 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelperPrefixAndAllowedChildrenAndRequireParent.stree.txt @@ -1,5 +1,26 @@ -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 - ... +RazorDocument - [0..36)::36 - [] + MarkupBlock - [0..36)::36 + MarkupTagHelperElement - [0..36)::36 - th:p[StartTagAndEndTag] - PTagHelper + MarkupTagHelperStartTag - [0..6)::6 + MarkupTextLiteral - [0..6)::6 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:p]; + CloseAngle;[>]; + MarkupTagHelperElement - [6..29)::23 - th:strong[StartTagAndEndTag] - StrongTagHelper + MarkupTagHelperStartTag - [6..17)::11 + MarkupTextLiteral - [6..17)::11 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[th:strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [17..29)::12 + MarkupTextLiteral - [17..29)::12 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:strong]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [29..36)::7 + MarkupTextLiteral - [29..36)::7 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[th:p]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags1.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags1.stree.txt index c1b2328c0..dbabd3d1c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags1.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags1.stree.txt @@ -1,27 +1,38 @@ -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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[html]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1 - SyntaxKind.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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..43)::43 - [] + MarkupBlock - [0..43)::43 + MarkupTagBlock - [0..25)::25 - [] + MarkupTextLiteral - [34..43)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags2.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags2.stree.txt index 9b1e8963b..f244fd4d6 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags2.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags2.stree.txt @@ -1,47 +1,66 @@ -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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[id]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [scriptTag] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:1 - SyntaxKind.Text;[scriptTag]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup block - Gen - 17 - (22:0,22) - Markup span - Gen - [ type='] - SpanEditHandler;Accepts:Any - (22:0,22) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (29:0,29) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[html]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (38:0,38) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup block - Gen - 18 - (39:0,39) - Markup span - Gen - [ class='] - SpanEditHandler;Accepts:Any - (39:0,39) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[class]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [something] - SpanEditHandler;Accepts:Any - (47:0,47) - Tokens:1 - SyntaxKind.Text;[something]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (56:0,56) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (57:0,57) - Tokens:1 - SyntaxKind.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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..76)::76 - [] + MarkupBlock - [0..76)::76 + MarkupTagBlock - [0..58)::58 - [] + MarkupTextLiteral - [67..76)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags3.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags3.stree.txt index 324cd5701..d10c1b64d 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags3.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags3.stree.txt @@ -1,53 +1,78 @@ -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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[html]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1 - SyntaxKind.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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[html]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (51:0,51) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (52:0,52) - Tokens:1 - SyntaxKind.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) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (75:0,75) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (75:0,75) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..84)::84 - [

        ] + MarkupBlock - [0..84)::84 + MarkupTagBlock - [0..25)::25 - [] + MarkupTextLiteral - [62..71)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [71..75)::4 + MarkupTextLiteral - [71..75)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [75..84)::9 - [] + MarkupTextLiteral - [75..84)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags4.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags4.stree.txt index 701a3080a..42c1b2fe1 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags4.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/TagHelperParseTreeRewriterTest/UnderstandsTagHelpersInHtmlTypedScriptTags4.stree.txt @@ -1,59 +1,80 @@ -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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/html] - SpanEditHandler;Accepts:Any - (14:0,14) - Tokens:3 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[html]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (23:0,23) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1 - SyntaxKind.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) - Tokens:4 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[type]; - SyntaxKind.Equals;[=]; - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [text/] - SpanEditHandler;Accepts:Any - (42:0,42) - Tokens:2 - SyntaxKind.Text;[text]; - SyntaxKind.ForwardSlash;[/]; - Markup span - Gen - [ html] - SpanEditHandler;Accepts:Any - (47:0,47) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[html]; - Markup span - Gen - ['] - SpanEditHandler;Accepts:Any - (52:0,52) - Tokens:1 - SyntaxKind.SingleQuote;[']; - Markup span - Gen - [>] - SpanEditHandler;Accepts:Any - (53:0,53) - Tokens:1 - SyntaxKind.CloseAngle;[>]; - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (54:0,54) - Tokens:5 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.Text;[input]; - SyntaxKind.Whitespace;[ ]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (63:0,63) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (63:0,63) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; - Tag block - Gen - 9 - (76:0,76) - Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (76:0,76) - Tokens:4 - SyntaxKind.OpenAngle;[<]; - SyntaxKind.ForwardSlash;[/]; - SyntaxKind.Text;[script]; - SyntaxKind.CloseAngle;[>]; +RazorDocument - [0..85)::85 - [

        ] + MarkupBlock - [0..85)::85 + MarkupTagBlock - [0..25)::25 - [] + MarkupTextLiteral - [63..72)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; + MarkupTagHelperEndTag - [72..76)::4 + MarkupTextLiteral - [72..76)::4 - [

        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[p]; + CloseAngle;[>]; + MarkupTagBlock - [76..85)::9 - [] + MarkupTextLiteral - [76..85)::9 - [] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[script]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/WhiteSpaceRewriterTest/Moves_Whitespace_Preceeding_ExpressionBlock_To_Parent_Block.cspans.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/WhiteSpaceRewriterTest/Moves_Whitespace_Preceeding_ExpressionBlock_To_Parent_Block.cspans.txt index 14c16af64..14e628a16 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/WhiteSpaceRewriterTest/Moves_Whitespace_Preceeding_ExpressionBlock_To_Parent_Block.cspans.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/WhiteSpaceRewriterTest/Moves_Whitespace_Preceeding_ExpressionBlock_To_Parent_Block.cspans.txt @@ -1,4 +1,8 @@ -Markup span at (0:0,0 [8] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [17] ) -Transition span at (8:0,8 [1] ) (Accepts:None) - Parent: Expression block at (8:0,8 [4] ) -Code span at (9:0,9 [3] ) (Accepts:NonWhitespace) - Parent: Expression block at (8:0,8 [4] ) -Markup span at (12:0,12 [5] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [17] ) +Markup span at (0:0,0 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [28] ) +Markup span at (2:1,0 [5] ) (Accepts:Any) - Parent: Tag block at (2:1,0 [5] ) +Markup span at (7:1,5 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [28] ) +Markup span at (9:2,0 [4] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [28] ) +Transition span at (13:2,4 [1] ) (Accepts:None) - Parent: Expression block at (13:2,4 [7] ) +Code span at (14:2,5 [6] ) (Accepts:NonWhitespace) - Parent: Expression block at (13:2,4 [7] ) +Markup span at (20:2,11 [2] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [28] ) +Markup span at (22:3,0 [6] ) (Accepts:Any) - Parent: Tag block at (22:3,0 [6] ) diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/WhiteSpaceRewriterTest/Moves_Whitespace_Preceeding_ExpressionBlock_To_Parent_Block.stree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/WhiteSpaceRewriterTest/Moves_Whitespace_Preceeding_ExpressionBlock_To_Parent_Block.stree.txt index fae418250..88f895981 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/WhiteSpaceRewriterTest/Moves_Whitespace_Preceeding_ExpressionBlock_To_Parent_Block.stree.txt +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/WhiteSpaceRewriterTest/Moves_Whitespace_Preceeding_ExpressionBlock_To_Parent_Block.stree.txt @@ -1,12 +1,29 @@ -Markup block - Gen - 17 - (0:0,0) - Markup span - Gen - [test ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:2 - SyntaxKind.Text;[test]; - SyntaxKind.Whitespace;[ ]; - Expression block - Gen - 4 - (8:0,8) - Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (8:0,8) - Tokens:1 - SyntaxKind.Transition;[@]; - Code span - Gen - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (9:0,9) - Tokens:1 - SyntaxKind.Identifier;[foo]; - Markup span - Gen - [ test] - SpanEditHandler;Accepts:Any - (12:0,12) - Tokens:2 - SyntaxKind.Whitespace;[ ]; - SyntaxKind.Text;[test]; +RazorDocument - [0..28)::28 - [LF
        LF @resultLF
        ] + MarkupBlock - [0..28)::28 + MarkupTextLiteral - [0..2)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagBlock - [2..7)::5 - [
        ] + MarkupTextLiteral - [2..7)::5 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + Text;[div]; + CloseAngle;[>]; + MarkupTextLiteral - [7..9)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTextLiteral - [9..13)::4 - [ ] + Whitespace;[ ]; + CSharpCodeBlock - [13..20)::7 + CSharpImplicitExpression - [13..20)::7 + CSharpTransition - [13..14)::1 - Gen - SpanEditHandler;Accepts:None + Transition;[@]; + CSharpImplicitExpressionBody - [14..20)::6 + CSharpCodeBlock - [14..20)::6 + CSharpExpressionLiteral - [14..20)::6 - [result] - Gen - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 + Identifier;[result]; + MarkupTextLiteral - [20..22)::2 - [LF] - Gen - SpanEditHandler;Accepts:Any + NewLine;[LF]; + MarkupTagBlock - [22..28)::6 - [
        ] + MarkupTextLiteral - [22..28)::6 - [
        ] - Gen - SpanEditHandler;Accepts:Any + OpenAngle;[<]; + ForwardSlash;[/]; + Text;[div]; + CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/IntegrationTests/IntegrationTestBase.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/IntegrationTests/IntegrationTestBase.cs index 57346747a..64434fb97 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/IntegrationTests/IntegrationTestBase.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/IntegrationTests/IntegrationTestBase.cs @@ -16,6 +16,7 @@ using Microsoft.AspNetCore.Razor.Language.Legacy; using Microsoft.AspNetCore.Razor.Language.CodeGeneration; using Microsoft.AspNetCore.Razor.Language.Intermediate; +using Microsoft.AspNetCore.Razor.Language.Syntax; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.Razor; @@ -460,38 +461,38 @@ protected void AssertSourceMappingsMatchBaseline(RazorCodeDocument codeDocument) var syntaxTree = codeDocument.GetSyntaxTree(); var visitor = new CodeSpanVisitor(); - visitor.VisitBlock(syntaxTree.Root); + visitor.Visit(syntaxTree.Root); var charBuffer = new char[codeDocument.Source.Length]; codeDocument.Source.CopyTo(0, charBuffer, 0, codeDocument.Source.Length); var sourceContent = new string(charBuffer); var spans = visitor.CodeSpans; - for (var i= 0; i < spans.Count; i++) + for (var i = 0; i < spans.Count; i++) { var span = spans[i]; - if (span.Start.FilePath == null || span.Start.FilePath != codeDocument.Source.FilePath) + var sourceSpan = span.GetSourceSpan(codeDocument.Source); + if (sourceSpan == null) { // Not in the main file, skip. continue; } - var location = new SourceSpan(span.Start, span.Length); - var expectedSpan = sourceContent.Substring(span.Start.AbsoluteIndex, span.Length); + var expectedSpan = sourceContent.Substring(sourceSpan.AbsoluteIndex, sourceSpan.Length); // See #2593 if (string.IsNullOrWhiteSpace(expectedSpan)) { // For now we don't verify whitespace inside of a directive. We know that directives cheat // with how they bound whitespace/C#/markup to make completion work. - if (span.Parent is Block block && block.Type == BlockKindInternal.Directive) + if (span.FirstAncestorOrSelf() != null) { continue; } } // See #2594 - if (string.Equals("@", expectedSpan) && span.Kind == SpanKindInternal.Code) + if (string.Equals("@", expectedSpan)) { // For now we don't verify an escaped transition. In some cases one of the @ tokens in @@foo // will be mapped as C# but will not be present in the output buffer because it's not actually C#. @@ -502,16 +503,16 @@ protected void AssertSourceMappingsMatchBaseline(RazorCodeDocument codeDocument) for (var j = 0; j < csharpDocument.SourceMappings.Count; j++) { var mapping = csharpDocument.SourceMappings[j]; - if (mapping.OriginalSpan == location) + if (mapping.OriginalSpan == sourceSpan) { var actualSpan = csharpDocument.GeneratedCode.Substring( - mapping.GeneratedSpan.AbsoluteIndex, + mapping.GeneratedSpan.AbsoluteIndex, mapping.GeneratedSpan.Length); if (!string.Equals(expectedSpan, actualSpan, StringComparison.Ordinal)) { throw new XunitException( - $"Found the span {location} in the output mappings but it contains " + + $"Found the span {sourceSpan} in the output mappings but it contains " + $"'{EscapeWhitespace(actualSpan)}' instead of '{EscapeWhitespace(expectedSpan)}'."); } @@ -523,24 +524,34 @@ protected void AssertSourceMappingsMatchBaseline(RazorCodeDocument codeDocument) if (!found) { throw new XunitException( - $"Could not find the span {location} - containing '{EscapeWhitespace(expectedSpan)}' " + + $"Could not find the span {sourceSpan} - containing '{EscapeWhitespace(expectedSpan)}' " + $"in the output."); } } } - private class CodeSpanVisitor : ParserVisitor + private class CodeSpanVisitor : SyntaxRewriter { - public List CodeSpans { get; } = new List(); + public List CodeSpans { get; } = new List(); - public override void VisitSpan(Span span) + public override Syntax.SyntaxNode VisitCSharpStatementLiteral(CSharpStatementLiteralSyntax node) { - if (span.Kind == SpanKindInternal.Code) + var context = node.GetSpanContext(); + if (context != null && context.ChunkGenerator != SpanChunkGenerator.Null) { - CodeSpans.Add(span); + CodeSpans.Add(node); } + return base.VisitCSharpStatementLiteral(node); + } - base.VisitSpan(span); + public override Syntax.SyntaxNode VisitCSharpExpressionLiteral(CSharpExpressionLiteralSyntax node) + { + var context = node.GetSpanContext(); + if (context != null && context.ChunkGenerator != SpanChunkGenerator.Null) + { + CodeSpans.Add(node); + } + return base.VisitCSharpExpressionLiteral(node); } } diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/BlockFactory.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/BlockFactory.cs index 0b924e87f..83c8fac5a 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/BlockFactory.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/BlockFactory.cs @@ -85,7 +85,7 @@ public Block TagHelperBlock( var builder = new TagHelperBlockBuilder( tagName, tagMode, - attributes: new List(), + attributes: new List(), children: children) { Start = start, diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/BlockTypes.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/BlockTypes.cs index 56deb6b46..364e03742 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/BlockTypes.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/BlockTypes.cs @@ -108,18 +108,18 @@ public MarkupBlock(params SyntaxTreeNode[] children) internal class MarkupTagHelperBlock : TagHelperBlock { public MarkupTagHelperBlock(string tagName) - : this(tagName, tagMode: TagMode.StartTagAndEndTag, attributes: new List()) + : this(tagName, tagMode: TagMode.StartTagAndEndTag, attributes: new List()) { } public MarkupTagHelperBlock(string tagName, TagMode tagMode) - : this(tagName, tagMode, new List()) + : this(tagName, tagMode, new List()) { } public MarkupTagHelperBlock( string tagName, - IList attributes) + IList attributes) : this(tagName, TagMode.StartTagAndEndTag, attributes, children: new SyntaxTreeNode[0]) { } @@ -127,7 +127,7 @@ public MarkupTagHelperBlock( public MarkupTagHelperBlock( string tagName, TagMode tagMode, - IList attributes) + IList attributes) : this(tagName, tagMode, attributes, new SyntaxTreeNode[0]) { } @@ -136,19 +136,19 @@ public MarkupTagHelperBlock(string tagName, params SyntaxTreeNode[] children) : this( tagName, TagMode.StartTagAndEndTag, - attributes: new List(), + attributes: new List(), children: children) { } public MarkupTagHelperBlock(string tagName, TagMode tagMode, params SyntaxTreeNode[] children) - : this(tagName, tagMode, new List(), children) + : this(tagName, tagMode, new List(), children) { } public MarkupTagHelperBlock( string tagName, - IList attributes, + IList attributes, params SyntaxTreeNode[] children) : base(new TagHelperBlockBuilder( tagName, @@ -161,7 +161,7 @@ public MarkupTagHelperBlock( public MarkupTagHelperBlock( string tagName, TagMode tagMode, - IList attributes, + IList attributes, params SyntaxTreeNode[] children) : base(new TagHelperBlockBuilder(tagName, tagMode, attributes, children)) { diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanSerializer.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanSerializer.cs index 40b557ff7..1d7c4e8d1 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanSerializer.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanSerializer.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.IO; namespace Microsoft.AspNetCore.Razor.Language.Legacy @@ -8,14 +9,40 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy internal class ClassifiedSpanSerializer { internal static string Serialize(SyntaxTreeNode node, string filePath = null) + { + if (!(node is Block block)) + { + return string.Empty; + } + + using (var writer = new StringWriter()) + { + var syntaxTree = GetSyntaxTree(block, filePath); + var visitor = new ClassifiedSpanWriter(writer, syntaxTree); + visitor.Visit(); + + return writer.ToString(); + } + } + + internal static string Serialize(RazorSyntaxTree syntaxTree) { using (var writer = new StringWriter()) { - var visitor = new ClassifiedSpanWriter(writer, filePath); - visitor.Visit(node); + var visitor = new ClassifiedSpanWriter(writer, syntaxTree); + visitor.Visit(); return writer.ToString(); } } + + private static RazorSyntaxTree GetSyntaxTree(Block root, string filePath) + { + return RazorSyntaxTree.Create( + root, + TestRazorSourceDocument.Create(filePath: filePath), + Array.Empty(), + RazorParserOptions.CreateDefault()); + } } } diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanVerifier.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanVerifier.cs index c70a57337..aebb720b5 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanVerifier.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanVerifier.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.IO; using System.Text; using Xunit; @@ -12,14 +13,39 @@ internal class ClassifiedSpanVerifier { internal static void Verify(SyntaxTreeNode node, string filePath, string[] baseline) { + if (!(node is Block block)) + { + return; + } + using (var writer = new StringWriter()) { - var walker = new Walker(writer, filePath, baseline); - walker.Visit(node); + var syntaxTree = GetSyntaxTree(block, filePath); + var walker = new Walker(writer, syntaxTree, baseline); + walker.Visit(); walker.AssertReachedEndOfBaseline(); } } + internal static void Verify(RazorSyntaxTree syntaxTree, string[] baseline) + { + using (var writer = new StringWriter()) + { + var walker = new Walker(writer, syntaxTree, baseline); + walker.Visit(); + walker.AssertReachedEndOfBaseline(); + } + } + + private static RazorSyntaxTree GetSyntaxTree(Block root, string filePath) + { + return RazorSyntaxTree.Create( + root, + TestRazorSourceDocument.Create(filePath: filePath), + Array.Empty(), + RazorParserOptions.CreateDefault()); + } + private class Walker : ClassifiedSpanWriter { private readonly string[] _baseline; @@ -27,7 +53,7 @@ private class Walker : ClassifiedSpanWriter private int _index; - public Walker(StringWriter writer, string filePath, string[] baseline) : base(writer, filePath) + public Walker(StringWriter writer, RazorSyntaxTree syntaxTree, string[] baseline) : base(writer, syntaxTree) { _writer = writer; _baseline = baseline; diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanWriter.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanWriter.cs index fc6258a7d..ceaf79d93 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanWriter.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ClassifiedSpan/ClassifiedSpanWriter.cs @@ -1,31 +1,24 @@ // 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.IO; -using System.Linq; namespace Microsoft.AspNetCore.Razor.Language.Legacy { internal class ClassifiedSpanWriter { - private readonly string _filePath; + private readonly RazorSyntaxTree _syntaxTree; private readonly TextWriter _writer; - public ClassifiedSpanWriter(TextWriter writer, string filePath) + public ClassifiedSpanWriter(TextWriter writer, RazorSyntaxTree syntaxTree) { _writer = writer; - _filePath = filePath; + _syntaxTree = syntaxTree; } - public virtual void Visit(SyntaxTreeNode node) + public virtual void Visit() { - if (!(node is Block block)) - { - return; - } - var classifiedSpans = GetClassifiedSpans(block, _filePath); + var classifiedSpans = _syntaxTree.GetClassifiedSpans(); foreach (var span in classifiedSpans) { VisitClassifiedSpan(span); @@ -59,54 +52,5 @@ protected void Write(object value) { _writer.Write(value); } - - internal static IReadOnlyList GetClassifiedSpans(Block root, string filePath) - { - // We don't care about the options and diagnostic here. - var syntaxTree = RazorSyntaxTree.Create( - root, - TestRazorSourceDocument.Create(filePath: filePath), - Array.Empty(), - RazorParserOptions.CreateDefault()); - - return syntaxTree.GetClassifiedSpans(); - } - - private static List Flatten(SyntaxTreeNode root) - { - var result = new List(); - AppendFlattenedSpans(root, result); - return result; - - void AppendFlattenedSpans(SyntaxTreeNode node, List foundSpans) - { - if (node is Span spanNode) - { - foundSpans.Add(spanNode); - } - else - { - if (node is TagHelperBlock tagHelperNode) - { - // These aren't in document order, sort them first and then dig in - var attributeNodes = tagHelperNode.Attributes.Select(kvp => kvp.Value).Where(att => att != null).ToList(); - attributeNodes.Sort((x, y) => x.Start.AbsoluteIndex.CompareTo(y.Start.AbsoluteIndex)); - - foreach (var attribute in attributeNodes) - { - AppendFlattenedSpans(attribute, foundSpans); - } - } - - if (node is Block blockNode) - { - foreach (var child in blockNode.Children) - { - AppendFlattenedSpans(child, foundSpans); - } - } - } - } - } } } diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ParserTestBase.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ParserTestBase.cs index 67a77b0df..0d4019a30 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ParserTestBase.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/ParserTestBase.cs @@ -91,9 +91,9 @@ public static bool IsTheory #endif } - internal void AssertSyntaxTreeNodeMatchesBaseline(RazorSyntaxTree syntaxTree) + internal virtual void AssertSyntaxTreeNodeMatchesBaseline(RazorSyntaxTree syntaxTree) { - AssertSyntaxTreeNodeMatchesBaseline(syntaxTree.Root, syntaxTree.Source.FilePath, syntaxTree.Diagnostics.ToArray()); + AssertSyntaxTreeNodeMatchesBaseline(syntaxTree.LegacyRoot, syntaxTree.Source.FilePath, syntaxTree.Diagnostics.ToArray()); } internal void AssertSyntaxTreeNodeMatchesBaseline(Block root, string filePath, params RazorDiagnostic[] diagnostics) @@ -196,7 +196,7 @@ internal void AssertSyntaxTreeNodeMatchesBaseline(Block root, string filePath, p TagHelperSpanVerifier.Verify(root, filePath, tagHelperSpanBaseline); } - private static string SerializeDiagnostic(RazorDiagnostic diagnostic) + protected static string SerializeDiagnostic(RazorDiagnostic diagnostic) { var content = RazorDiagnosticSerializer.Serialize(diagnostic); var normalized = NormalizeNewLines(content); @@ -246,28 +246,28 @@ internal RazorSyntaxTree ParseBlock(string document, IEnumerable directives, bool designTime); - internal RazorSyntaxTree ParseDocument(string document, bool designTime = false) + internal RazorSyntaxTree ParseDocument(string document, bool designTime = false, RazorParserFeatureFlags featureFlags = null) { - return ParseDocument(RazorLanguageVersion.Latest, document, designTime); + return ParseDocument(RazorLanguageVersion.Latest, document, designTime, featureFlags); } - internal RazorSyntaxTree ParseDocument(RazorLanguageVersion version, string document, bool designTime = false) + internal RazorSyntaxTree ParseDocument(RazorLanguageVersion version, string document, bool designTime = false, RazorParserFeatureFlags featureFlags = null) { - return ParseDocument(version, document, null, designTime); + return ParseDocument(version, document, null, designTime, featureFlags); } - internal RazorSyntaxTree ParseDocument(string document, IEnumerable directives, bool designTime = false) + internal RazorSyntaxTree ParseDocument(string document, IEnumerable directives, bool designTime = false, RazorParserFeatureFlags featureFlags = null) { - return ParseDocument(RazorLanguageVersion.Latest, document, directives, designTime); + return ParseDocument(RazorLanguageVersion.Latest, document, directives, designTime, featureFlags); } - internal virtual RazorSyntaxTree ParseDocument(RazorLanguageVersion version, string document, IEnumerable directives, bool designTime = false) + internal virtual RazorSyntaxTree ParseDocument(RazorLanguageVersion version, string document, IEnumerable directives, bool designTime = false, RazorParserFeatureFlags featureFlags = null) { directives = directives ?? Array.Empty(); - var source = TestRazorSourceDocument.Create(document, filePath: null, normalizeNewLines: true); + var source = TestRazorSourceDocument.Create(document, filePath: null, relativePath: null, normalizeNewLines: true); - var options = CreateParserOptions(version, directives, designTime); + var options = CreateParserOptions(version, directives, designTime, featureFlags); var context = new ParserContext(source, options); var codeParser = new CSharpCodeParser(directives, context); @@ -276,7 +276,7 @@ internal virtual RazorSyntaxTree ParseDocument(RazorLanguageVersion version, str codeParser.HtmlParser = markupParser; markupParser.CodeParser = codeParser; - markupParser.ParseDocument(); + markupParser.ParseDocument1(); var root = context.Builder.Build(); var diagnostics = context.ErrorSink.Errors; @@ -296,7 +296,7 @@ internal virtual RazorSyntaxTree ParseHtmlBlock(RazorLanguageVersion version, st { directives = directives ?? Array.Empty(); - var source = TestRazorSourceDocument.Create(document, filePath: null, normalizeNewLines: true); + var source = TestRazorSourceDocument.Create(document, filePath: null, relativePath: null, normalizeNewLines: true); var options = CreateParserOptions(version, directives, designTime); var context = new ParserContext(source, options); @@ -306,7 +306,7 @@ internal virtual RazorSyntaxTree ParseHtmlBlock(RazorLanguageVersion version, st HtmlParser = parser, }; - parser.ParseBlock(); + parser.ParseBlock1(); var root = context.Builder.Build(); var diagnostics = context.ErrorSink.Errors; @@ -327,7 +327,7 @@ internal virtual RazorSyntaxTree ParseCodeBlock( { directives = directives ?? Array.Empty(); - var source = TestRazorSourceDocument.Create(document, filePath: null, normalizeNewLines: true); + var source = TestRazorSourceDocument.Create(document, filePath: null, relativePath: null, normalizeNewLines: true); var options = CreateParserOptions(version, directives, designTime); var context = new ParserContext(source, options); @@ -337,7 +337,7 @@ internal virtual RazorSyntaxTree ParseCodeBlock( CodeParser = parser, }; - parser.ParseBlock(); + parser.ParseBlock1(); var root = context.Builder.Build(); var diagnostics = context.ErrorSink.Errors; @@ -525,7 +525,7 @@ internal static void EvaluateResults(RazorSyntaxTree result, Block expectedRoot) internal static void EvaluateResults(RazorSyntaxTree result, Block expectedRoot, IList expectedErrors) { - EvaluateParseTree(result.Root, expectedRoot); + EvaluateParseTree(result.LegacyRoot, expectedRoot); EvaluateRazorErrors(result.Diagnostics, expectedErrors); } @@ -675,8 +675,8 @@ private static void EvaluateTagHelperBlock(ErrorCollector collector, TagHelperBl private static void EvaluateTagHelperAttribute( ErrorCollector collector, - TagHelperAttributeNode actual, - TagHelperAttributeNode expected) + LegacyTagHelperAttributeNode actual, + LegacyTagHelperAttributeNode expected) { if (actual.Name != expected.Name) { @@ -762,16 +762,45 @@ private static void WriteTraceLine(string format, params object[] args) Trace.WriteLine(string.Format(format, args)); } - private static RazorParserOptions CreateParserOptions( + internal static RazorParserOptions CreateParserOptions( RazorLanguageVersion version, IEnumerable directives, - bool designTime) + bool designTime, + RazorParserFeatureFlags featureFlags = null) { - return new DefaultRazorParserOptions( + return new TestRazorParserOptions( directives.ToArray(), designTime, parseLeadingDirectives: false, - version: version); + version: version, + featureFlags: featureFlags); + } + + private class TestRazorParserOptions : RazorParserOptions + { + public TestRazorParserOptions(DirectiveDescriptor[] directives, bool designTime, bool parseLeadingDirectives, RazorLanguageVersion version, RazorParserFeatureFlags featureFlags = null) + { + if (directives == null) + { + throw new ArgumentNullException(nameof(directives)); + } + + Directives = directives; + DesignTime = designTime; + ParseLeadingDirectives = parseLeadingDirectives; + Version = version; + FeatureFlags = featureFlags ?? RazorParserFeatureFlags.Create(Version); + } + + public override bool DesignTime { get; } + + public override IReadOnlyCollection Directives { get; } + + public override bool ParseLeadingDirectives { get; } + + public override RazorLanguageVersion Version { get; } + + internal override RazorParserFeatureFlags FeatureFlags { get; } } } } \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeParserTestBase.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeParserTestBase.cs new file mode 100644 index 000000000..3cc5b7d95 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeParserTestBase.cs @@ -0,0 +1,220 @@ +// 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.IO; +using System.Linq; +using System.Reflection; +using Xunit; +using Xunit.Sdk; + +namespace Microsoft.AspNetCore.Razor.Language.Legacy +{ + public abstract class SyntaxNodeParserTestBase : ParserTestBase + { + protected bool UseNewSyntaxTree { get; set; } + + internal override RazorSyntaxTree ParseDocument(RazorLanguageVersion version, string document, IEnumerable directives, bool designTime = false, RazorParserFeatureFlags featureFlags = null) + { + if (!UseNewSyntaxTree) + { + return base.ParseDocument(version, document, directives, designTime); + } + + directives = directives ?? Array.Empty(); + + var source = TestRazorSourceDocument.Create(document, filePath: null, relativePath: null, normalizeNewLines: true); + + var options = CreateParserOptions(version, directives, designTime, featureFlags); + var context = new ParserContext(source, options); + + var codeParser = new CSharpCodeParser(directives, context); + var markupParser = new HtmlMarkupParser(context); + + codeParser.HtmlParser = markupParser; + markupParser.CodeParser = codeParser; + + var root = markupParser.ParseDocument().CreateRed(); + + var diagnostics = context.ErrorSink.Errors; + + var codeDocument = RazorCodeDocument.Create(source); + + var syntaxTree = RazorSyntaxTree.Create(root, source, diagnostics, options); + codeDocument.SetSyntaxTree(syntaxTree); + + var defaultDirectivePass = new DefaultDirectiveSyntaxTreePass(); + syntaxTree = defaultDirectivePass.Execute(codeDocument, syntaxTree); + + return syntaxTree; + } + + internal override RazorSyntaxTree ParseHtmlBlock(RazorLanguageVersion version, string document, IEnumerable directives, bool designTime = false) + { + if (!UseNewSyntaxTree) + { + return base.ParseHtmlBlock(version, document, directives, designTime); + } + + directives = directives ?? Array.Empty(); + + var source = TestRazorSourceDocument.Create(document, filePath: null, relativePath: null, normalizeNewLines: true); + + var options = CreateParserOptions(version, directives, designTime); + var context = new ParserContext(source, options); + + var codeParser = new CSharpCodeParser(directives, context); + var markupParser = new HtmlMarkupParser(context); + + codeParser.HtmlParser = markupParser; + markupParser.CodeParser = codeParser; + + var root = markupParser.ParseBlock().CreateRed(); + + var diagnostics = context.ErrorSink.Errors; + + var syntaxTree = RazorSyntaxTree.Create(root, source, diagnostics, options); + + return syntaxTree; + } + + internal override RazorSyntaxTree ParseCodeBlock(RazorLanguageVersion version, string document, IEnumerable directives, bool designTime = false) + { + if (!UseNewSyntaxTree) + { + return base.ParseCodeBlock(version, document, directives, designTime); + } + + directives = directives ?? Array.Empty(); + + var source = TestRazorSourceDocument.Create(document, filePath: null, relativePath: null, normalizeNewLines: true); + + var options = CreateParserOptions(version, directives, designTime); + var context = new ParserContext(source, options); + + var codeParser = new CSharpCodeParser(directives, context); + var markupParser = new HtmlMarkupParser(context); + + codeParser.HtmlParser = markupParser; + markupParser.CodeParser = codeParser; + + var root = codeParser.ParseBlock().CreateRed(); + + var diagnostics = context.ErrorSink.Errors; + + var syntaxTree = RazorSyntaxTree.Create(root, source, diagnostics, options); + + return syntaxTree; + } + + internal override void AssertSyntaxTreeNodeMatchesBaseline(RazorSyntaxTree syntaxTree) + { + if (!UseNewSyntaxTree) + { + base.AssertSyntaxTreeNodeMatchesBaseline(syntaxTree); + return; + } + + var root = syntaxTree.Root; + var diagnostics = syntaxTree.Diagnostics; + var filePath = syntaxTree.Source.FilePath; + if (FileName == null) + { + var message = $"{nameof(AssertSyntaxTreeNodeMatchesBaseline)} should only be called from a parser test ({nameof(FileName)} is null)."; + throw new InvalidOperationException(message); + } + + if (IsTheory) + { + var message = $"{nameof(AssertSyntaxTreeNodeMatchesBaseline)} should not be called from a [Theory] test."; + throw new InvalidOperationException(message); + } + + var baselineFileName = Path.ChangeExtension(FileName, ".stree.txt"); + var baselineDiagnosticsFileName = Path.ChangeExtension(FileName, ".diag.txt"); + var baselineClassifiedSpansFileName = Path.ChangeExtension(FileName, ".cspans.txt"); + var baselineTagHelperSpansFileName = Path.ChangeExtension(FileName, ".tspans.txt"); + + if (GenerateBaselines) + { + // Write syntax tree baseline + var baselineFullPath = Path.Combine(TestProjectRoot, baselineFileName); + File.WriteAllText(baselineFullPath, SyntaxNodeSerializer.Serialize(root)); + + // Write diagnostics baseline + var baselineDiagnosticsFullPath = Path.Combine(TestProjectRoot, baselineDiagnosticsFileName); + var lines = diagnostics.Select(SerializeDiagnostic).ToArray(); + if (lines.Any()) + { + File.WriteAllLines(baselineDiagnosticsFullPath, lines); + } + else if (File.Exists(baselineDiagnosticsFullPath)) + { + File.Delete(baselineDiagnosticsFullPath); + } + + // Write classified spans baseline + var classifiedSpansBaselineFullPath = Path.Combine(TestProjectRoot, baselineClassifiedSpansFileName); + File.WriteAllText(classifiedSpansBaselineFullPath, ClassifiedSpanSerializer.Serialize(syntaxTree)); + + // Write tag helper spans baseline + var tagHelperSpansBaselineFullPath = Path.Combine(TestProjectRoot, baselineTagHelperSpansFileName); + var serializedTagHelperSpans = TagHelperSpanSerializer.Serialize(syntaxTree); + if (!string.IsNullOrEmpty(serializedTagHelperSpans)) + { + File.WriteAllText(tagHelperSpansBaselineFullPath, serializedTagHelperSpans); + } + else if (File.Exists(tagHelperSpansBaselineFullPath)) + { + File.Delete(tagHelperSpansBaselineFullPath); + } + + return; + } + + // Verify syntax tree + var stFile = TestFile.Create(baselineFileName, GetType().GetTypeInfo().Assembly); + if (!stFile.Exists()) + { + throw new XunitException($"The resource {baselineFileName} was not found."); + } + + var baseline = stFile.ReadAllText().Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); + SyntaxNodeVerifier.Verify(root, baseline); + + // Verify diagnostics + var baselineDiagnostics = string.Empty; + var diagnosticsFile = TestFile.Create(baselineDiagnosticsFileName, GetType().GetTypeInfo().Assembly); + if (diagnosticsFile.Exists()) + { + baselineDiagnostics = diagnosticsFile.ReadAllText(); + } + + var actualDiagnostics = string.Concat(diagnostics.Select(d => SerializeDiagnostic(d) + "\r\n")); + Assert.Equal(baselineDiagnostics, actualDiagnostics); + + // Verify classified spans + var classifiedSpanFile = TestFile.Create(baselineClassifiedSpansFileName, GetType().GetTypeInfo().Assembly); + if (!classifiedSpanFile.Exists()) + { + throw new XunitException($"The resource {baselineClassifiedSpansFileName} was not found."); + } + else + { + var classifiedSpanBaseline = new string[0]; + classifiedSpanBaseline = classifiedSpanFile.ReadAllText().Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); + ClassifiedSpanVerifier.Verify(syntaxTree, classifiedSpanBaseline); + } + + // Verify tag helper spans + var tagHelperSpanFile = TestFile.Create(baselineTagHelperSpansFileName, GetType().GetTypeInfo().Assembly); + var tagHelperSpanBaseline = new string[0]; + if (tagHelperSpanFile.Exists()) + { + tagHelperSpanBaseline = tagHelperSpanFile.ReadAllText().Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); + TagHelperSpanVerifier.Verify(syntaxTree, tagHelperSpanBaseline); + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeSerializer.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeSerializer.cs new file mode 100644 index 000000000..df81d1235 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeSerializer.cs @@ -0,0 +1,61 @@ +// 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.IO; +using Microsoft.AspNetCore.Razor.Language.Syntax; + +namespace Microsoft.AspNetCore.Razor.Language.Legacy +{ + public static class SyntaxNodeSerializer + { + internal static string Serialize(SyntaxNode node) + { + using (var writer = new StringWriter()) + { + var walker = new Walker(writer); + walker.Visit(node); + + return writer.ToString(); + } + } + + private class Walker : SyntaxNodeWalker + { + private readonly SyntaxNodeWriter _visitor; + private readonly TextWriter _writer; + + public Walker(TextWriter writer) + { + _visitor = new SyntaxNodeWriter(writer); + _writer = writer; + } + + public TextWriter Writer { get; } + + public override SyntaxNode Visit(SyntaxNode node) + { + if (node == null) + { + return node; + } + + if (node.IsList) + { + return base.DefaultVisit(node); + } + + _visitor.Visit(node); + _writer.WriteLine(); + + if (!node.IsToken && !node.IsTrivia) + { + _visitor.Depth++; + node = base.DefaultVisit(node); + _visitor.Depth--; + } + + return node; + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeVerifier.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeVerifier.cs new file mode 100644 index 000000000..17a0cbf72 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeVerifier.cs @@ -0,0 +1,296 @@ +// 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.IO; +using System.Linq; +using System.Text; +using Microsoft.AspNetCore.Razor.Language.Syntax; +using Xunit; +using Xunit.Sdk; + +namespace Microsoft.AspNetCore.Razor.Language.Legacy +{ + public static class SyntaxNodeVerifier + { + internal static void Verify(SyntaxNode node, string[] baseline) + { + var walker = new Walker(baseline); + walker.Visit(node); + walker.AssertReachedEndOfBaseline(); + } + + private class Walker : SyntaxNodeWalker + { + private readonly string[] _baseline; + private readonly SyntaxNodeWriter _visitor; + private readonly StringWriter _writer; + + private int _index; + + public Walker(string[] baseline) + { + _writer = new StringWriter(); + + _visitor = new SyntaxNodeWriter(_writer); + _baseline = baseline; + } + + public TextWriter Writer { get; } + + public override SyntaxNode Visit(SyntaxNode node) + { + if (node == null) + { + return node; + } + + if (node.IsList) + { + return base.DefaultVisit(node); + } + + var expected = _index < _baseline.Length ? _baseline[_index++] : null; + + // Write the node as text for comparison + _writer.GetStringBuilder().Clear(); + _visitor.Visit(node); + var actual = _writer.GetStringBuilder().ToString(); + var actualLineCount = actual.Split(new[] { _writer.NewLine }, StringSplitOptions.None).Length; + + var expectedLineIndex = 1; + while (expectedLineIndex++ < actualLineCount && _index < _baseline.Length) + { + expected += $"{_writer.NewLine}{_baseline[_index++]}"; + } + + AssertNodeEquals(node, Ancestors, expected, actual); + + if (!node.IsToken && !node.IsTrivia) + { + _visitor.Depth++; + base.DefaultVisit(node); + _visitor.Depth--; + } + + return node; + } + + public void AssertReachedEndOfBaseline() + { + // Since we're walking the nodes of our generated code there's the chance that our baseline is longer. + Assert.True(_baseline.Length == _index, "Not all lines of the baseline were visited!"); + } + + private void AssertNodeEquals(SyntaxNode node, IEnumerable ancestors, string expected, string actual) + { + if (string.Equals(expected, actual)) + { + // YAY!!! everything is great. + return; + } + + if (expected == null) + { + var message = "The node is missing from baseline."; + throw new SyntaxNodeBaselineException(node, Ancestors.ToArray(), expected, actual, message); + } + + int charsVerified = 0; + AssertNestingEqual(node, ancestors, expected, actual, ref charsVerified); + AssertNameEqual(node, ancestors, expected, actual, ref charsVerified); + AssertDelimiter(node, expected, actual, true, ref charsVerified); + AssertLocationEqual(node, ancestors, expected, actual, ref charsVerified); + AssertDelimiter(node, expected, actual, false, ref charsVerified); + AssertContentEqual(node, ancestors, expected, actual, ref charsVerified); + + throw new InvalidOperationException("We can't figure out HOW these two things are different. This is a bug."); + } + + private void AssertNestingEqual(SyntaxNode node, IEnumerable ancestors, string expected, string actual, ref int charsVerified) + { + var i = 0; + for (; i < expected.Length; i++) + { + if (expected[i] != ' ') + { + break; + } + } + + var failed = false; + var j = 0; + for (; j < i; j++) + { + if (actual.Length <= j || actual[j] != ' ') + { + failed = true; + break; + } + } + + if (actual.Length <= j + 1 || actual[j] == ' ') + { + failed = true; + } + + if (failed) + { + var message = "The node is at the wrong level of nesting. This usually means a child is missing."; + throw new SyntaxNodeBaselineException(node, ancestors.ToArray(), expected, actual, message); + } + + charsVerified = j; + } + + private void AssertNameEqual(SyntaxNode node, IEnumerable ancestors, string expected, string actual, ref int charsVerified) + { + var expectedName = GetName(expected, charsVerified); + var actualName = GetName(actual, charsVerified); + + if (!string.Equals(expectedName, actualName)) + { + var message = $"Node names are not equal."; + throw new SyntaxNodeBaselineException(node, ancestors.ToArray(), expected, actual, message); + } + + charsVerified += expectedName.Length; + } + + // Either both strings need to have a delimiter next or neither should. + private void AssertDelimiter(SyntaxNode node, string expected, string actual, bool required, ref int charsVerified) + { + if (charsVerified == expected.Length && required) + { + throw new InvalidOperationException($"Baseline text is not well-formed: '{expected}'."); + } + + if (charsVerified == actual.Length && required) + { + throw new InvalidOperationException($"Baseline text is not well-formed: '{actual}'."); + } + + if (charsVerified == expected.Length && charsVerified == actual.Length) + { + return; + } + + var expectedDelimiter = expected.IndexOf(" - ", charsVerified); + if (expectedDelimiter != charsVerified && expectedDelimiter != -1) + { + throw new InvalidOperationException($"Baseline text is not well-formed: '{actual}'."); + } + + var actualDelimiter = actual.IndexOf(" - ", charsVerified); + if (actualDelimiter != charsVerified && actualDelimiter != -1) + { + throw new InvalidOperationException($"Baseline text is not well-formed: '{actual}'."); + } + + Assert.Equal(expectedDelimiter, actualDelimiter); + + charsVerified += 3; + } + + private void AssertLocationEqual(SyntaxNode node, IEnumerable ancestors, string expected, string actual, ref int charsVerified) + { + var expectedLocation = GetLocation(expected, charsVerified); + var actualLocation = GetLocation(actual, charsVerified); + + if (!string.Equals(expectedLocation, actualLocation)) + { + var message = $"Locations are not equal."; + throw new SyntaxNodeBaselineException(node, ancestors.ToArray(), expected, actual, message); + } + + charsVerified += expectedLocation.Length; + } + + private void AssertContentEqual(SyntaxNode node, IEnumerable ancestors, string expected, string actual, ref int charsVerified) + { + var expectedContent = GetContent(expected, charsVerified); + var actualContent = GetContent(actual, charsVerified); + + if (!string.Equals(expectedContent, actualContent)) + { + var message = $"Contents are not equal."; + throw new SyntaxNodeBaselineException(node, ancestors.ToArray(), expected, actual, message); + } + + charsVerified += expectedContent.Length; + } + + private string GetName(string text, int start) + { + var delimiter = text.IndexOf(" - ", start); + if (delimiter == -1) + { + throw new InvalidOperationException($"Baseline text is not well-formed: '{text}'."); + } + + return text.Substring(start, delimiter - start); + } + + private string GetLocation(string text, int start) + { + var delimiter = text.IndexOf(" - ", start); + return delimiter == -1 ? text.Substring(start) : text.Substring(start, delimiter - start); + } + + private string GetContent(string text, int start) + { + return start == text.Length ? string.Empty : text.Substring(start); + } + + private class SyntaxNodeBaselineException : XunitException + { + public SyntaxNodeBaselineException(SyntaxNode node, SyntaxNode[] ancestors, string expected, string actual, string userMessage) + : base(Format(node, ancestors, expected, actual, userMessage)) + { + Node = node; + Expected = expected; + Actual = actual; + } + + public SyntaxNode Node { get; } + + public string Actual { get; } + + public string Expected { get; } + + private static string Format(SyntaxNode node, SyntaxNode[] ancestors, string expected, string actual, string userMessage) + { + var builder = new StringBuilder(); + builder.AppendLine(userMessage); + builder.AppendLine(); + + if (expected != null) + { + builder.Append("Expected: "); + builder.AppendLine(expected); + } + + if (actual != null) + { + builder.Append("Actual: "); + builder.AppendLine(actual); + } + + if (ancestors != null) + { + builder.AppendLine(); + builder.AppendLine("Path:"); + + foreach (var ancestor in ancestors) + { + builder.AppendLine(ancestor.ToString()); + } + } + + return builder.ToString(); + } + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeWalker.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeWalker.cs new file mode 100644 index 000000000..818732d68 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeWalker.cs @@ -0,0 +1,37 @@ +// 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.Collections.Generic; +using Microsoft.AspNetCore.Razor.Language.Syntax; + +namespace Microsoft.AspNetCore.Razor.Language.Legacy +{ + internal class SyntaxNodeWalker : SyntaxRewriter + { + private readonly List _ancestors = new List(); + + protected IReadOnlyList Ancestors => _ancestors; + + protected SyntaxNode Parent => _ancestors.Count > 0 ? _ancestors[0] : null; + + protected override SyntaxNode DefaultVisit(SyntaxNode node) + { + _ancestors.Insert(0, node); + + try + { + for (var i = 0; i < node.SlotCount; i++) + { + var child = node.GetNodeSlot(i); + Visit(child); + } + } + finally + { + _ancestors.RemoveAt(0); + } + + return node; + } + } +} diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeWriter.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeWriter.cs new file mode 100644 index 000000000..68119f151 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxNodeWriter.cs @@ -0,0 +1,186 @@ +// 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.IO; +using System.Linq; +using Microsoft.AspNetCore.Razor.Language.Legacy; + +namespace Microsoft.AspNetCore.Razor.Language.Syntax +{ + internal class SyntaxNodeWriter : SyntaxRewriter + { + private readonly TextWriter _writer; + private bool _visitedRoot; + + public SyntaxNodeWriter(TextWriter writer) + { + _writer = writer; + } + + public int Depth { get; set; } + + public override SyntaxNode Visit(SyntaxNode node) + { + if (node is SyntaxToken token) + { + return VisitToken(token); + } + + WriteNode(node); + return node; + } + + public override SyntaxNode VisitToken(SyntaxToken token) + { + WriteToken(token); + return base.VisitToken(token); + } + + public override SyntaxNode VisitTrivia(SyntaxTrivia trivia) + { + WriteTrivia(trivia); + return base.VisitTrivia(trivia); + } + + private void WriteNode(SyntaxNode node) + { + WriteIndent(); + Write(node.Kind); + WriteSeparator(); + Write($"[{node.Position}..{node.EndPosition})::{node.FullWidth}"); + + if (node is MarkupTagHelperElementSyntax tagHelperElement) + { + WriteTagHelperElement(tagHelperElement); + } + else if (node is MarkupTagHelperAttributeSyntax tagHelperAttribute) + { + WriteTagHelperAttributeInfo(tagHelperAttribute.TagHelperAttributeInfo); + } + else if (node is MarkupMinimizedTagHelperAttributeSyntax minimizedTagHelperAttribute) + { + WriteTagHelperAttributeInfo(minimizedTagHelperAttribute.TagHelperAttributeInfo); + } + + if (ShouldDisplayNodeContent(node)) + { + WriteSeparator(); + Write($"[{node.GetContent()}]"); + } + + var annotation = node.GetAnnotations().FirstOrDefault(a => a.Kind == SyntaxConstants.SpanContextKind); + if (annotation != null && annotation.Data is SpanContext context) + { + WriteSpanContext(context); + } + + if (!_visitedRoot) + { + WriteSeparator(); + Write($"[{node.ToFullString()}]"); + _visitedRoot = true; + } + } + + private void WriteTagHelperElement(MarkupTagHelperElementSyntax node) + { + // Write tag name + WriteSeparator(); + Write($"{node.TagHelperInfo.TagName}[{node.TagHelperInfo.TagMode}]"); + + // Write descriptors + foreach (var descriptor in node.TagHelperInfo.BindingResult.Descriptors) + { + WriteSeparator(); + + // Get the type name without the namespace. + var typeName = descriptor.Name.Substring(descriptor.Name.LastIndexOf('.') + 1); + Write(typeName); + } + } + + private void WriteTagHelperAttributeInfo(TagHelperAttributeInfo info) + { + // Write attributes + WriteSeparator(); + Write(info.Name); + WriteSeparator(); + Write(info.AttributeStructure); + WriteSeparator(); + Write(info.Bound ? "Bound" : "Unbound"); + } + + private void WriteToken(SyntaxToken token) + { + WriteIndent(); + var content = token.IsMissing ? "" : token.Content; + var diagnostics = token.GetDiagnostics(); + var tokenString = $"{token.Kind};[{content}];{string.Join(", ", diagnostics.Select(diagnostic => diagnostic.Id + diagnostic.Span))}"; + Write(tokenString); + } + + private void WriteTrivia(SyntaxTrivia trivia) + { + throw new NotImplementedException(); + } + + private void WriteSpanContext(SpanContext context) + { + WriteSeparator(); + Write($"Gen<{context.ChunkGenerator}>"); + WriteSeparator(); + Write(context.EditHandler); + } + + protected void WriteIndent() + { + for (var i = 0; i < Depth; i++) + { + for (var j = 0; j < 4; j++) + { + Write(' '); + } + } + } + + protected void WriteSeparator() + { + Write(" - "); + } + + protected void WriteNewLine() + { + _writer.WriteLine(); + } + + protected void Write(object value) + { + if (value is string stringValue) + { + stringValue = stringValue.Replace("\r\n", "LF"); + _writer.Write(stringValue); + return; + } + + _writer.Write(value); + } + + private static bool ShouldDisplayNodeContent(SyntaxNode node) + { + return node.Kind == SyntaxKind.MarkupTextLiteral || + node.Kind == SyntaxKind.MarkupEphemeralTextLiteral || + node.Kind == SyntaxKind.MarkupTagBlock || + node.Kind == SyntaxKind.MarkupAttributeBlock || + node.Kind == SyntaxKind.MarkupMinimizedAttributeBlock || + node.Kind == SyntaxKind.MarkupTagHelperAttribute || + node.Kind == SyntaxKind.MarkupMinimizedTagHelperAttribute || + node.Kind == SyntaxKind.MarkupLiteralAttributeValue || + node.Kind == SyntaxKind.MarkupDynamicAttributeValue || + node.Kind == SyntaxKind.CSharpStatementLiteral || + node.Kind == SyntaxKind.CSharpExpressionLiteral || + node.Kind == SyntaxKind.CSharpEphemeralTextLiteral || + node.Kind == SyntaxKind.UnclassifiedTextLiteral; + } + } +} 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 3c40d0458..ffbb36e37 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxTreeNodeWriter.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/SyntaxTreeNodeWriter.cs @@ -207,7 +207,7 @@ protected void WriteSpan(Span span) private void WriteSyntaxNode(SyntaxNode syntaxNode) { WriteIndent(); - Write($"{typeof(SyntaxKind).Name}.{syntaxNode.Kind}"); + Write($"{typeof(SyntaxKind).Name}.{GetSyntaxKindForDisplay(syntaxNode.Kind)}"); WriteSeparator(); Write($"[{syntaxNode.ToFullString()}]"); WriteSeparator(); @@ -243,10 +243,27 @@ protected void WriteSyntaxToken(SyntaxToken syntaxToken) { WriteIndent(); var diagnostics = syntaxToken.GetDiagnostics(); - var tokenString = $"{typeof(SyntaxKind).Name}.{syntaxToken.Kind};[{syntaxToken.Content}];{string.Join(", ", diagnostics.Select(diagnostic => diagnostic.Id + diagnostic.Span))}"; + var kind = GetSyntaxKindForDisplay(syntaxToken.Kind); + var tokenString = $"{typeof(SyntaxKind).Name}.{kind};[{syntaxToken.Content}];{string.Join(", ", diagnostics.Select(diagnostic => diagnostic.Id + diagnostic.Span))}"; Write(tokenString); } + private string GetSyntaxKindForDisplay(SyntaxKind kind) + { + // Temporary workaround to not rewrite the baselines for the old tree. + var result = kind.ToString(); + if (kind == SyntaxKind.Marker) + { + return "Unknown"; + } + else if (kind == SyntaxKind.MarkupTextLiteral) + { + return "HtmlTextLiteral"; + } + + return result; + } + protected void WriteSourceLocation(SourceLocation location) { Write(location); diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanSerializer.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanSerializer.cs index 1639bb268..c7065daea 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanSerializer.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanSerializer.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.IO; namespace Microsoft.AspNetCore.Razor.Language.Legacy @@ -8,14 +9,40 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy internal class TagHelperSpanSerializer { internal static string Serialize(SyntaxTreeNode node, string filePath = null) + { + if (!(node is Block block)) + { + return string.Empty; + } + + using (var writer = new StringWriter()) + { + var syntaxTree = GetSyntaxTree(block, filePath); + var visitor = new TagHelperSpanWriter(writer, syntaxTree); + visitor.Visit(); + + return writer.ToString(); + } + } + + internal static string Serialize(RazorSyntaxTree syntaxTree) { using (var writer = new StringWriter()) { - var visitor = new TagHelperSpanWriter(writer, filePath); - visitor.Visit(node); + var visitor = new TagHelperSpanWriter(writer, syntaxTree); + visitor.Visit(); return writer.ToString(); } } + + private static RazorSyntaxTree GetSyntaxTree(Block root, string filePath) + { + return RazorSyntaxTree.Create( + root, + TestRazorSourceDocument.Create(filePath: filePath), + Array.Empty(), + RazorParserOptions.CreateDefault()); + } } } diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanVerifier.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanVerifier.cs index 7fd7d9f07..4406bbd59 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanVerifier.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanVerifier.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.IO; using System.Text; using Xunit; @@ -12,14 +13,39 @@ internal class TagHelperSpanVerifier { internal static void Verify(SyntaxTreeNode node, string filePath, string[] baseline) { + if (!(node is Block block)) + { + return; + } + using (var writer = new StringWriter()) { - var walker = new Walker(writer, filePath, baseline); - walker.Visit(node); + var syntaxTree = GetSyntaxTree(block, filePath); + var walker = new Walker(writer, syntaxTree, baseline); + walker.Visit(); walker.AssertReachedEndOfBaseline(); } } + internal static void Verify(RazorSyntaxTree syntaxTree, string[] baseline) + { + using (var writer = new StringWriter()) + { + var walker = new Walker(writer, syntaxTree, baseline); + walker.Visit(); + walker.AssertReachedEndOfBaseline(); + } + } + + private static RazorSyntaxTree GetSyntaxTree(Block root, string filePath) + { + return RazorSyntaxTree.Create( + root, + TestRazorSourceDocument.Create(filePath: filePath), + Array.Empty(), + RazorParserOptions.CreateDefault()); + } + private class Walker : TagHelperSpanWriter { private readonly string[] _baseline; @@ -27,7 +53,7 @@ private class Walker : TagHelperSpanWriter private int _index; - public Walker(StringWriter writer, string filePath, string[] baseline) : base(writer, filePath) + public Walker(StringWriter writer, RazorSyntaxTree syntaxTree, string[] baseline) : base(writer, syntaxTree) { _writer = writer; _baseline = baseline; diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanWriter.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanWriter.cs index 1552bdb71..3a814aa06 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanWriter.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TagHelperSpan/TagHelperSpanWriter.cs @@ -1,31 +1,24 @@ // 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.IO; namespace Microsoft.AspNetCore.Razor.Language.Legacy { internal class TagHelperSpanWriter { - private readonly string _filePath; + private readonly RazorSyntaxTree _syntaxTree; private readonly TextWriter _writer; - public TagHelperSpanWriter(TextWriter writer, string filePath) + public TagHelperSpanWriter(TextWriter writer, RazorSyntaxTree syntaxTree) { _writer = writer; - _filePath = filePath; + _syntaxTree = syntaxTree; } - public virtual void Visit(SyntaxTreeNode node) + public virtual void Visit() { - if (!(node is Block block)) - { - return; - } - - var tagHelperSpans = GetTagHelperSpans(block, _filePath); + var tagHelperSpans = _syntaxTree.GetTagHelperSpans(); foreach (var span in tagHelperSpans) { VisitTagHelperSpan(span); @@ -65,17 +58,5 @@ protected void Write(object value) { _writer.Write(value); } - - internal static IReadOnlyList GetTagHelperSpans(Block root, string filePath) - { - // We don't care about the options and diagnostic here. - var syntaxTree = RazorSyntaxTree.Create( - root, - TestRazorSourceDocument.Create(filePath: filePath), - Array.Empty(), - RazorParserOptions.CreateDefault()); - - return syntaxTree.GetTagHelperSpans(); - } } } diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TestSpanBuilder.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TestSpanBuilder.cs index ec27b0fcc..85319f63b 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TestSpanBuilder.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/Legacy/TestSpanBuilder.cs @@ -16,7 +16,7 @@ public static UnclassifiedCodeSpanConstructor EmptyCSharp(this SpanFactory self) self.Span( SpanKindInternal.Code, string.Empty, - SyntaxKind.Unknown)); + SyntaxKind.Marker)); } public static SpanConstructor EmptyHtml(this SpanFactory self) @@ -25,7 +25,7 @@ public static SpanConstructor EmptyHtml(this SpanFactory self) .Span( SpanKindInternal.Markup, string.Empty, - SyntaxKind.Unknown) + SyntaxKind.Marker) .With(new MarkupChunkGenerator()); } @@ -378,7 +378,7 @@ internal class SpanConstructor internal static IEnumerable TestTokenizer(string str) { - yield return SyntaxFactory.Token(SyntaxKind.Unknown, str); + yield return SyntaxFactory.Token(SyntaxKind.Marker, str); } public SpanConstructor(SpanKindInternal kind, SourceLocation location, IEnumerable tokens) diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/SyntaxTreeVerifier.cs b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/SyntaxTreeVerifier.cs index e0b26941a..a9e0e5276 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/SyntaxTreeVerifier.cs +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Language/SyntaxTreeVerifier.cs @@ -3,39 +3,78 @@ using System; using Microsoft.AspNetCore.Razor.Language.Legacy; +using Microsoft.AspNetCore.Razor.Language.Syntax; namespace Microsoft.AspNetCore.Razor.Language { // Verifies recursively that a syntax tree has no gaps in terms of position/location. internal class SyntaxTreeVerifier : ParserVisitor { - private readonly SourceLocationTracker _tracker = new SourceLocationTracker(SourceLocation.Zero); - private SyntaxTreeVerifier() { } public static void Verify(RazorSyntaxTree syntaxTree) { - Verify(syntaxTree.Root); + if (syntaxTree is LegacyRazorSyntaxTree) + { + Verify(syntaxTree.LegacyRoot); + } + else + { + new Verifier(syntaxTree.Source).Visit(syntaxTree.Root); + } } public static void Verify(Block block) { - new SyntaxTreeVerifier().VisitBlock(block); + new LegacyVerifier().VisitBlock(block); } - public override void VisitSpan(Span span) + private class Verifier : SyntaxRewriter { - var start = span.Start; - if (!start.Equals(_tracker.CurrentLocation)) + private readonly SourceLocationTracker _tracker; + private readonly RazorSourceDocument _source; + + public Verifier(RazorSourceDocument source) { - throw new InvalidOperationException($"Span starting at {span.Start} should start at {_tracker.CurrentLocation} - {span} "); + _tracker = new SourceLocationTracker(new SourceLocation(source.FilePath, 0, 0, 0)); + _source = source; } - for (var i = 0; i < span.Tokens.Count; i++) + public override SyntaxNode VisitToken(SyntaxToken token) { - _tracker.UpdateLocation(span.Tokens[i].Content); + if (token != null && !token.IsMissing && token.Kind != SyntaxKind.Marker) + { + var start = token.GetSourceLocation(_source); + if (!start.Equals(_tracker.CurrentLocation)) + { + throw new InvalidOperationException($"Token starting at {start} should start at {_tracker.CurrentLocation} - {token} "); + } + + _tracker.UpdateLocation(token.Content); + } + + return base.VisitToken(token); + } + } + + private class LegacyVerifier : ParserVisitor + { + private readonly SourceLocationTracker _tracker = new SourceLocationTracker(SourceLocation.Zero); + + public override void VisitSpan(Span span) + { + var start = span.Start; + if (!start.Equals(_tracker.CurrentLocation)) + { + throw new InvalidOperationException($"Span starting at {span.Start} should start at {_tracker.CurrentLocation} - {span} "); + } + + for (var i = 0; i < span.Tokens.Count; i++) + { + _tracker.UpdateLocation(span.Tokens[i].Content); + } } } } diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Microsoft.AspNetCore.Razor.Test.Common.csproj b/test/Microsoft.AspNetCore.Razor.Test.Common/Microsoft.AspNetCore.Razor.Test.Common.csproj index 95f1644d4..6a0cf4d38 100644 --- a/test/Microsoft.AspNetCore.Razor.Test.Common/Microsoft.AspNetCore.Razor.Test.Common.csproj +++ b/test/Microsoft.AspNetCore.Razor.Test.Common/Microsoft.AspNetCore.Razor.Test.Common.csproj @@ -1,4 +1,4 @@ - + diff --git a/test/Microsoft.CodeAnalysis.Razor.Workspaces.Test/DefaultRazorCompletionFactsServiceTest.cs b/test/Microsoft.CodeAnalysis.Razor.Workspaces.Test/DefaultRazorCompletionFactsServiceTest.cs index d9b107f69..7cffe6dec 100644 --- a/test/Microsoft.CodeAnalysis.Razor.Workspaces.Test/DefaultRazorCompletionFactsServiceTest.cs +++ b/test/Microsoft.CodeAnalysis.Razor.Workspaces.Test/DefaultRazorCompletionFactsServiceTest.cs @@ -178,7 +178,7 @@ public void IsDirectiveCompletableToken_ReturnsTrueForCSharpIdentifiers() public void IsDirectiveCompletableToken_ReturnsTrueForCSharpMarkerTokens() { // Arrange - var csharpToken = SyntaxFactory.Token(SyntaxKind.Unknown, string.Empty); + var csharpToken = SyntaxFactory.Token(SyntaxKind.Marker, string.Empty); // Act var result = DefaultRazorCompletionFactsService.IsDirectiveCompletableToken(csharpToken); diff --git a/test/Microsoft.VisualStudio.Editor.Razor.Test/BraceSmartIndenterTest.cs b/test/Microsoft.VisualStudio.Editor.Razor.Test/BraceSmartIndenterTest.cs index 270165997..8427b30e4 100644 --- a/test/Microsoft.VisualStudio.Editor.Razor.Test/BraceSmartIndenterTest.cs +++ b/test/Microsoft.VisualStudio.Editor.Razor.Test/BraceSmartIndenterTest.cs @@ -533,7 +533,7 @@ private static RazorSyntaxTree GetSyntaxTree(string content) options.Directives.Add(FunctionsDirective.Directive); options.Directives.Add(SectionDirective.Directive); })); - syntaxTree.Root.LinkNodes(); + syntaxTree.LegacyRoot.LinkNodes(); return syntaxTree; } @@ -541,7 +541,7 @@ private static RazorSyntaxTree GetSyntaxTree(string content) private static Span ExtractSpan(int spanLocation, string content) { var syntaxTree = GetSyntaxTree(content); - var span = syntaxTree.Root.LocateOwner(new SourceChange(new SourceSpan(spanLocation, 0), string.Empty)); + var span = syntaxTree.LegacyRoot.LocateOwner(new SourceChange(new SourceSpan(spanLocation, 0), string.Empty)); return span; } diff --git a/test/Microsoft.VisualStudio.Editor.Razor.Test/DefaultVisualStudioRazorParserIntegrationTest.cs b/test/Microsoft.VisualStudio.Editor.Razor.Test/DefaultVisualStudioRazorParserIntegrationTest.cs index 22c277aaa..dd690b8f5 100644 --- a/test/Microsoft.VisualStudio.Editor.Razor.Test/DefaultVisualStudioRazorParserIntegrationTest.cs +++ b/test/Microsoft.VisualStudio.Editor.Razor.Test/DefaultVisualStudioRazorParserIntegrationTest.cs @@ -80,7 +80,7 @@ public async Task AwaitPeriodInsertionAcceptedProvisionally() // Assert Assert.Equal(2, manager.ParseCount); - ParserTestBase.EvaluateParseTree(manager.CurrentSyntaxTree.Root, new MarkupBlock( + ParserTestBase.EvaluateParseTree(manager.CurrentSyntaxTree.LegacyRoot, new MarkupBlock( factory.Markup("foo "), new ExpressionBlock( factory.CodeTransition(), @@ -236,7 +236,7 @@ void ApplyAndVerifyPartialChange(TestEdit testEdit, string expectedCode) await manager.WaitForReparseAsync(); Assert.Equal(2, manager.ParseCount); - ParserTestBase.EvaluateParseTree(manager.CurrentSyntaxTree.Root, new MarkupBlock( + ParserTestBase.EvaluateParseTree(manager.CurrentSyntaxTree.LegacyRoot, new MarkupBlock( factory.Markup("foo "), new ExpressionBlock( factory.CodeTransition(), @@ -288,7 +288,7 @@ void ApplyAndVerifyPartialChange(TestEdit testEdit, string expectedCode) await manager.WaitForReparseAsync(); Assert.Equal(2, manager.ParseCount); - ParserTestBase.EvaluateParseTree(manager.CurrentSyntaxTree.Root, new MarkupBlock( + ParserTestBase.EvaluateParseTree(manager.CurrentSyntaxTree.LegacyRoot, new MarkupBlock( factory.Markup("foo "), new ExpressionBlock( factory.CodeTransition(), @@ -351,7 +351,7 @@ void ApplyAndVerifyPartialChange(Action applyEdit, string expectedCode) await manager.WaitForReparseAsync(); Assert.Equal(2, manager.ParseCount); - ParserTestBase.EvaluateParseTree(manager.CurrentSyntaxTree.Root, new MarkupBlock( + ParserTestBase.EvaluateParseTree(manager.CurrentSyntaxTree.LegacyRoot, new MarkupBlock( factory.Markup("foo "), new ExpressionBlock( factory.CodeTransition(),