From 42e8f4abc8f91b8f513e93d01e9cf1aa08194b88 Mon Sep 17 00:00:00 2001 From: "N. Taylor Mullen" Date: Wed, 27 Jun 2018 16:41:13 -0700 Subject: [PATCH] Convert HtmlTagsTest to use baselines. #2263 --- .../Legacy/HtmlTagsTest.cs | 202 +++---- .../HtmlTagsTest/CDataTag.syntaxtree.txt | 13 + .../HtmlTagsTest/CommentTag.syntaxtree.txt | 13 + .../HtmlTagsTest/DocTypeTag.syntaxtree.txt | 10 + .../HtmlTagsTest/ElementTags.syntaxtree.txt | 16 + .../HtmlTagsTest/EmptyTag.syntaxtree.txt | 12 + ...EmptyTagNestsLikeNormalTag.diagnostics.txt | 1 + .../EmptyTagNestsLikeNormalTag.syntaxtree.txt | 13 + ...ncompleteVoidElementEndTag.diagnostics.txt | 1 + ...IncompleteVoidElementEndTag.syntaxtree.txt | 279 +++++++++ .../ProcessingInstructionTag.syntaxtree.txt | 16 + .../HtmlTagsTest/ScriptTag.syntaxtree.txt | 28 + ...criptTag_WithNestedBeginTag.syntaxtree.txt | 16 + .../ScriptTag_WithNestedEndTag.syntaxtree.txt | 17 + ...tTag_WithNestedMalformedTag.syntaxtree.txt | 29 + .../ScriptTag_WithNestedTag.syntaxtree.txt | 20 + .../HtmlTagsTest/TextTags.syntaxtree.txt | 14 + ...idElementFollowedByCloseTag.syntaxtree.txt | 563 ++++++++++++++++++ ...oidElementFollowedByContent.syntaxtree.txt | 435 ++++++++++++++ ...idElementFollowedByOtherTag.syntaxtree.txt | 386 ++++++++++++ 20 files changed, 1970 insertions(+), 114 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/CDataTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/CommentTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/DocTypeTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ElementTags.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.diagnostics.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ProcessingInstructionTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedBeginTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedEndTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedMalformedTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/TextTags.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByCloseTag.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByContent.syntaxtree.txt create mode 100644 test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByOtherTag.syntaxtree.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/HtmlTagsTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/HtmlTagsTest.cs index 5f22a1bae7..21daa145ae 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/HtmlTagsTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/HtmlTagsTest.cs @@ -1,46 +1,42 @@ // 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 System.Text; using Xunit; namespace Microsoft.AspNetCore.Razor.Language.Legacy { public class HtmlTagsTest : CsHtmlMarkupParserTestBase { - public static IEnumerable VoidElementNames + private static readonly string[] VoidElementNames = new[] { - get - { - yield return new[] { "area" }; - yield return new[] { "base" }; - yield return new[] { "br" }; - yield return new[] { "col" }; - yield return new[] { "command" }; - yield return new[] { "embed" }; - yield return new[] { "hr" }; - yield return new[] { "img" }; - yield return new[] { "input" }; - yield return new[] { "keygen" }; - yield return new[] { "link" }; - yield return new[] { "meta" }; - yield return new[] { "param" }; - yield return new[] { "source" }; - yield return new[] { "track" }; - yield return new[] { "wbr" }; - } + "area", + "base", + "br", + "col", + "command", + "embed", + "hr", + "img", + "input", + "keygen", + "link", + "meta", + "param", + "source", + "track", + "wbr", + }; + + public HtmlTagsTest() + { + UseBaselineTests = true; } [Fact] public void EmptyTagNestsLikeNormalTag() { - ParseBlockTest("

Bar", - new MarkupBlock( - BlockFactory.MarkupTagBlock("

", AcceptedCharactersInternal.None), - BlockFactory.MarkupTagBlock("", AcceptedCharactersInternal.None), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)), - RazorDiagnosticFactory.CreateParsing_MissingEndTag( - new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1), "p")); + ParseBlockTest("

Bar"); } [Fact] @@ -48,159 +44,137 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { // This can happen in situations where a user is in VS' HTML editor and they're modifying // the contents of an HTML tag. - ParseBlockTest("<> Bar", - new MarkupBlock( - BlockFactory.MarkupTagBlock("<>", AcceptedCharactersInternal.None), - BlockFactory.MarkupTagBlock("", AcceptedCharactersInternal.None), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None))); + ParseBlockTest("<> Bar"); } [Fact] public void CommentTag() { - ParseBlockTest(" Bar", - new MarkupBlock( - BlockFactory.HtmlCommentBlock("Foo"), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None))); + ParseBlockTest(" Bar"); } [Fact] public void DocTypeTag() { - ParseBlockTest(" foo", - new MarkupBlock( - Factory.Markup("").Accepts(AcceptedCharactersInternal.None), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None))); + ParseBlockTest(" foo"); } [Fact] public void ProcessingInstructionTag() { - ParseBlockTest(" foo", - new MarkupBlock( - Factory.Markup("").Accepts(AcceptedCharactersInternal.None), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None))); + ParseBlockTest(" foo"); } [Fact] public void ElementTags() { - ParseBlockTest("

Foo

Bar", - new MarkupBlock( - BlockFactory.MarkupTagBlock("

", AcceptedCharactersInternal.None), - Factory.Markup("Foo"), - BlockFactory.MarkupTagBlock("

", AcceptedCharactersInternal.None), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None))); + ParseBlockTest("

Foo

Bar"); } [Fact] public void TextTags() { - ParseBlockTest("Foo}", - new MarkupBlock( - new MarkupTagBlock( - Factory.MarkupTransition("")), - Factory.Markup("Foo").Accepts(AcceptedCharactersInternal.None), - new MarkupTagBlock( - Factory.MarkupTransition("")))); + ParseBlockTest("Foo}"); } [Fact] public void CDataTag() { - ParseBlockTest(" Bar", - new MarkupBlock( - Factory.Markup("").Accepts(AcceptedCharactersInternal.None), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None))); + ParseBlockTest(" Bar"); } [Fact] public void ScriptTag() { - ParseDocumentTest("", - new MarkupBlock( - BlockFactory.MarkupTagBlock(""))); + ParseDocumentTest(""); } [Fact] public void ScriptTag_WithNestedMalformedTag() { - ParseDocumentTest("", - new MarkupBlock( - BlockFactory.MarkupTagBlock(""))); + ParseDocumentTest(""); } [Fact] public void ScriptTag_WithNestedEndTag() { - ParseDocumentTest("", - new MarkupBlock( - BlockFactory.MarkupTagBlock(""))); + ParseDocumentTest(""); } [Fact] public void ScriptTag_WithNestedBeginTag() { - ParseDocumentTest("", - new MarkupBlock( - BlockFactory.MarkupTagBlock(""))); + ParseDocumentTest(""); } [Fact] public void ScriptTag_WithNestedTag() { - ParseDocumentTest("", - new MarkupBlock( - BlockFactory.MarkupTagBlock(""))); + ParseDocumentTest(""); } - [Theory] - [MemberData(nameof(VoidElementNames))] - public void VoidElementFollowedByContent(string tagName) + [Fact] + public void VoidElementFollowedByContent() { - ParseBlockTest("<" + tagName + ">foo", - new MarkupBlock( - BlockFactory.MarkupTagBlock("<" + tagName + ">", AcceptedCharactersInternal.None))); + // Arrange + var content = new StringBuilder(); + foreach (var tagName in VoidElementNames) + { + content.AppendLine("@{"); + content.AppendLine("<" + tagName + ">var x = true;"); + content.AppendLine("}"); + } + + // Act & Assert + ParseDocumentTest(content.ToString()); } - [Theory] - [MemberData(nameof(VoidElementNames))] - public void VoidElementFollowedByOtherTag(string tagName) + [Fact] + public void VoidElementFollowedByOtherTag() { - ParseBlockTest("<" + tagName + ">foo", - new MarkupBlock( - BlockFactory.MarkupTagBlock("<" + tagName + ">", AcceptedCharactersInternal.None))); + // Arrange + var content = new StringBuilder(); + foreach (var tagName in VoidElementNames) + { + content.AppendLine(@"{"); + content.AppendLine("<" + tagName + "> var x = true;"); + content.AppendLine("}"); + } + + // Act & Assert + ParseDocumentTest(content.ToString()); } - [Theory] - [MemberData(nameof(VoidElementNames))] - public void VoidElementFollowedByCloseTag(string tagName) + [Fact] + public void VoidElementFollowedByCloseTag() { - ParseBlockTest("<" + tagName + "> foo", - new MarkupBlock( - BlockFactory.MarkupTagBlock("<" + tagName + ">", AcceptedCharactersInternal.None), - Factory.Markup(" "), - BlockFactory.MarkupTagBlock("", AcceptedCharactersInternal.None))); + // Arrange + var content = new StringBuilder(); + foreach (var tagName in VoidElementNames) + { + content.AppendLine("@{"); + content.AppendLine("<" + tagName + "> var x = true;"); + content.AppendLine("}"); + } + + // Act & Assert + ParseDocumentTest(content.ToString()); } - [Theory] - [MemberData(nameof(VoidElementNames))] - public void IncompleteVoidElementEndTag(string tagName) + [Fact] + public void IncompleteVoidElementEndTag() { - ParseBlockTest("<" + tagName + ">", AcceptedCharactersInternal.None), - BlockFactory.MarkupTagBlock(" - 16 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:9 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Bang;[!]; + HtmlSymbolType.LeftBracket;[[]; + HtmlSymbolType.Text;[CDATA]; + HtmlSymbolType.LeftBracket;[[]; + HtmlSymbolType.Text;[Foo]; + HtmlSymbolType.RightBracket;[]]; + HtmlSymbolType.RightBracket;[]]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/CommentTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/CommentTag.syntaxtree.txt new file mode 100644 index 0000000000..cdc84dc5db --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/CommentTag.syntaxtree.txt @@ -0,0 +1,13 @@ +Markup block - Gen - 11 - (0:0,0) + HtmlComment block - Gen - 10 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (7:0,7) - Symbols:2 + HtmlSymbolType.DoubleHyphen;[--]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/DocTypeTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/DocTypeTag.syntaxtree.txt new file mode 100644 index 0000000000..1697a0444a --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/DocTypeTag.syntaxtree.txt @@ -0,0 +1,10 @@ +Markup block - Gen - 16 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:6 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Bang;[!]; + HtmlSymbolType.Text;[DOCTYPE]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[html]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ElementTags.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ElementTags.syntaxtree.txt new file mode 100644 index 0000000000..37ee17d577 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ElementTags.syntaxtree.txt @@ -0,0 +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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Tag block - Gen - 4 - (6:0,6) + Markup span - Gen - [

] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTag.syntaxtree.txt new file mode 100644 index 0000000000..c1354c93d1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTag.syntaxtree.txt @@ -0,0 +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) - Symbols:2 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 3 - (2:0,2) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (2:0,2) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.diagnostics.txt new file mode 100644 index 0000000000..62f7a40547 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.diagnostics.txt @@ -0,0 +1 @@ +(1,2): Error RZ1025: The "p" element was not closed. All elements must be either self-closing or have a matching end tag. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.syntaxtree.txt new file mode 100644 index 0000000000..9f1a95b213 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/EmptyTagNestsLikeNormalTag.syntaxtree.txt @@ -0,0 +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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 3 - (3:0,3) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.diagnostics.txt new file mode 100644 index 0000000000..1ced8c1b88 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.diagnostics.txt @@ -0,0 +1 @@ +(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.syntaxtree.txt new file mode 100644 index 0000000000..bddaae36d9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/IncompleteVoidElementEndTag.syntaxtree.txt @@ -0,0 +1,279 @@ +Markup block - Gen - 344 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 344 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL - (2:0,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[area]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[base]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[br]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[col]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[command]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[embed]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[hr]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[img]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[keygen]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[link]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[meta]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[param]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[source]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[track]; + HtmlSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[wbr]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 10 - (334:46,5) + Markup span - Gen - [ - 23 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:12 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.QuestionMark;[?]; + HtmlSymbolType.Text;[xml]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[version]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.DoubleQuote;["]; + HtmlSymbolType.Text;[1.0]; + HtmlSymbolType.DoubleQuote;["]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.QuestionMark;[?]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag.syntaxtree.txt new file mode 100644 index 0000000000..b4a9cbb4e5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag.syntaxtree.txt @@ -0,0 +1,28 @@ +Markup block - Gen - 68 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (59:0,59) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedBeginTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedBeginTag.syntaxtree.txt new file mode 100644 index 0000000000..9c8ff919eb --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedBeginTag.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 20 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedEndTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedEndTag.syntaxtree.txt new file mode 100644 index 0000000000..077d1a5651 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedEndTag.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 21 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (12:0,12) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedMalformedTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedMalformedTag.syntaxtree.txt new file mode 100644 index 0000000000..d56331ccb9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedMalformedTag.syntaxtree.txt @@ -0,0 +1,29 @@ +Markup block - Gen - 39 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (30:0,30) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedTag.syntaxtree.txt new file mode 100644 index 0000000000..e553082236 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/ScriptTag_WithNestedTag.syntaxtree.txt @@ -0,0 +1,20 @@ +Markup block - Gen - 24 - (0:0,0) + Tag block - Gen - 8 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[script]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/TextTags.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/TextTags.syntaxtree.txt new file mode 100644 index 0000000000..fea7d650dc --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/TextTags.syntaxtree.txt @@ -0,0 +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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [Foo] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1 + HtmlSymbolType.Text;[Foo]; + Tag block - Gen - 7 - (9:0,9) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByCloseTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByCloseTag.syntaxtree.txt new file mode 100644 index 0000000000..899cf10f4f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByCloseTag.syntaxtree.txt @@ -0,0 +1,563 @@ +Markup block - Gen - 584 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 34 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[area]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (10:1,6) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 7 - (11:1,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (11:1,7) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[area]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (18:1,14) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (33:2,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (34:2,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 34 - (36:3,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (36:3,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (37:3,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (38:3,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[base]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (46:4,6) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 7 - (47:4,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (47:4,7) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[base]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (54:4,14) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (69:5,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (70:5,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 30 - (72:6,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (72:6,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (73:6,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (74:6,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[br]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (80:7,4) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 5 - (81:7,5) + Markup span - Gen - [
] - SpanEditHandler;Accepts:None - (81:7,5) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[br]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (86:7,10) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (101:8,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (102:8,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 32 - (104:9,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (104:9,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (105:9,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (106:9,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[col]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (113:10,5) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 6 - (114:10,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (114:10,6) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[col]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (120:10,12) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (135:11,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (136:11,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 40 - (138:12,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (138:12,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (139:12,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (140:12,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[command]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (151:13,9) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 10 - (152:13,10) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (152:13,10) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[command]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (162:13,20) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (177:14,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (178:14,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 36 - (180:15,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (180:15,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (181:15,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (182:15,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[embed]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (191:16,7) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 8 - (192:16,8) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (192:16,8) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[embed]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (200:16,16) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (215:17,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (216:17,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 30 - (218:18,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (218:18,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (219:18,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (220:18,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[hr]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (226:19,4) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 5 - (227:19,5) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (227:19,5) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[hr]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (232:19,10) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (247:20,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (248:20,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 32 - (250:21,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (250:21,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (251:21,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (252:21,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[img]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (259:22,5) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 6 - (260:22,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (260:22,6) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[img]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (266:22,12) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (281:23,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (282:23,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 36 - (284:24,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (284:24,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (285:24,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (286:24,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (295:25,7) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 8 - (296:25,8) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (296:25,8) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (304:25,16) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (319:26,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (320:26,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 38 - (322:27,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (322:27,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (323:27,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (324:27,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[keygen]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (334:28,8) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 9 - (335:28,9) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (335:28,9) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[keygen]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (344:28,18) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (359:29,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (360:29,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 34 - (362:30,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (362:30,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (363:30,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (364:30,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[link]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (372:31,6) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 7 - (373:31,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (373:31,7) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[link]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (380:31,14) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (395:32,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (396:32,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 34 - (398:33,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (398:33,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (399:33,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (400:33,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[meta]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (408:34,6) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 7 - (409:34,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (409:34,7) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[meta]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (416:34,14) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (431:35,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (432:35,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 36 - (434:36,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (434:36,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (435:36,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (436:36,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[param]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (445:37,7) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 8 - (446:37,8) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (446:37,8) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[param]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (454:37,16) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (469:38,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (470:38,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 38 - (472:39,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (472:39,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (473:39,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (474:39,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[source]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (484:40,8) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 9 - (485:40,9) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (485:40,9) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[source]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (494:40,18) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (509:41,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (510:41,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 36 - (512:42,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (512:42,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (513:42,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (514:42,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[track]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (523:43,7) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 8 - (524:43,8) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (524:43,8) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[track]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (532:43,16) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (547:44,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (548:44,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 32 - (550:45,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (550:45,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (551:45,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (552:45,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[wbr]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (559:46,5) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 6 - (560:46,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:None - (560:46,6) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[wbr]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (566:46,12) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (581:47,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (582:47,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByContent.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByContent.syntaxtree.txt new file mode 100644 index 0000000000..88d69f31f6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByContent.syntaxtree.txt @@ -0,0 +1,435 @@ +Markup block - Gen - 452 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 26 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (2:0,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[area]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (10:1,6) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (25:2,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (26:2,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 26 - (28:3,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (28:3,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (29:3,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (30:3,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[base]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (38:4,6) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (53:5,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (54:5,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 24 - (56:6,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (56:6,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (57:6,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (58:6,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[br]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (64:7,4) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (79:8,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (80:8,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 25 - (82:9,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (82:9,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (83:9,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (84:9,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[col]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (91:10,5) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (106:11,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (107:11,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 29 - (109:12,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (109:12,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (110:12,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (111:12,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[command]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (122:13,9) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (137:14,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (138:14,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 27 - (140:15,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (140:15,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (141:15,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (142:15,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[embed]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (151:16,7) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (166:17,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (167:17,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 24 - (169:18,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (169:18,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (170:18,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (171:18,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[hr]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (177:19,4) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (192:20,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (193:20,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 25 - (195:21,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (195:21,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (196:21,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (197:21,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[img]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (204:22,5) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (219:23,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (220:23,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 27 - (222:24,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (222:24,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (223:24,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (224:24,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (233:25,7) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (248:26,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (249:26,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 28 - (251:27,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (251:27,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (252:27,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (253:27,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[keygen]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (263:28,8) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (278:29,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (279:29,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 26 - (281:30,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (281:30,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (282:30,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (283:30,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[link]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (291:31,6) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (306:32,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (307:32,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 26 - (309:33,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (309:33,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (310:33,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (311:33,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[meta]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (319:34,6) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (334:35,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (335:35,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 27 - (337:36,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (337:36,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (338:36,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (339:36,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[param]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (348:37,7) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (363:38,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (364:38,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 28 - (366:39,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (366:39,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (367:39,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (368:39,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[source]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (378:40,8) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (393:41,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (394:41,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 27 - (396:42,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (396:42,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (397:42,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (398:42,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[track]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (407:43,7) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (422:44,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (423:44,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Statement block - Gen - 25 - (425:45,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (425:45,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (426:45,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (427:45,2) - Symbols:1 + CSharpSymbolType.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) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[wbr]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [var x = true;LF] - SpanEditHandler;Accepts:Any - (434:46,5) - Symbols:9 + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[x]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[true]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (449:47,0) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (450:47,1) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByOtherTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByOtherTag.syntaxtree.txt new file mode 100644 index 0000000000..f64fc89613 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/HtmlTagsTest/VoidElementFollowedByOtherTag.syntaxtree.txt @@ -0,0 +1,386 @@ +Markup block - Gen - 564 - (0:0,0) + Markup span - Gen - [{LF] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:2 + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 6 - (3:1,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (3:1,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[area]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (9:1,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (9:1,6) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (16:1,13) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 6 - (38:4,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (38:4,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[base]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (44:4,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (44:4,6) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (51:4,13) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 4 - (73:7,0) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (73:7,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[br]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (77:7,4) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (77:7,4) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (84:7,11) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 5 - (106:10,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (106:10,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[col]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (111:10,5) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (111:10,5) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (118:10,12) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 9 - (140:13,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (140:13,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[command]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (149:13,9) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (149:13,9) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (156:13,16) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 7 - (178:16,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (178:16,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[embed]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (185:16,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (185:16,7) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (192:16,14) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 4 - (214:19,0) + Markup span - Gen - [
] - SpanEditHandler;Accepts:Any - (214:19,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[hr]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (218:19,4) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (218:19,4) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (225:19,11) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 5 - (247:22,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (247:22,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[img]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (252:22,5) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (252:22,5) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (259:22,12) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 7 - (281:25,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (281:25,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[input]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (288:25,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (288:25,7) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (295:25,14) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 8 - (317:28,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (317:28,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[keygen]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (325:28,8) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (325:28,8) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (332:28,15) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 6 - (354:31,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (354:31,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[link]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (360:31,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (360:31,6) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (367:31,13) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 6 - (389:34,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (389:34,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[meta]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (395:34,6) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (395:34,6) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (402:34,13) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 7 - (424:37,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (424:37,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[param]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (431:37,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (431:37,7) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (438:37,14) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 8 - (460:40,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (460:40,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[source]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (468:40,8) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (468:40,8) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (475:40,15) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 7 - (497:43,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (497:43,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[track]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (504:43,7) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (504:43,7) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF{LF] - SpanEditHandler;Accepts:Any - (511:43,14) - Symbols:13 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[{]; + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 5 - (533:46,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (533:46,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[wbr]; + HtmlSymbolType.CloseAngle;[>]; + Tag block - Gen - 7 - (538:46,5) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (538:46,5) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[other]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ var x = true;LF}LF] - SpanEditHandler;Accepts:Any - (545:46,12) - Symbols:11 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[var]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[x]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Equals;[=]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[true;]; + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.Text;[}]; + HtmlSymbolType.NewLine;[LF];