diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpRazorCommentsTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpRazorCommentsTest.cs index eb626f3abe..d9aa3aa40c 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpRazorCommentsTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpRazorCommentsTest.cs @@ -8,102 +8,34 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { public class CSharpRazorCommentsTest : CsHtmlMarkupParserTestBase { + public CSharpRazorCommentsTest() + { + UseBaselineTests = true; + } + [Fact] public void UnterminatedRazorComment() { - ParseDocumentTest("@*", - new MarkupBlock( - Factory.EmptyHtml(), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span( - SpanKindInternal.Comment, - new HtmlSymbol( - string.Empty, - HtmlSymbolType.Unknown)) - .Accepts(AcceptedCharactersInternal.Any))), - RazorDiagnosticFactory.CreateParsing_RazorCommentNotTerminated( - new SourceSpan(SourceLocation.Zero, contentLength: 2))); + ParseDocumentTest("@*"); } [Fact] public void EmptyRazorComment() { - ParseDocumentTest("@**@", - new MarkupBlock( - Factory.EmptyHtml(), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - string.Empty, - HtmlSymbolType.Unknown)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.EmptyHtml())); + ParseDocumentTest("@**@"); } [Fact] public void RazorCommentInImplicitExpressionMethodCall() { ParseDocumentTest("@foo(" + Environment.NewLine - + "@**@" + Environment.NewLine, - new MarkupBlock( - Factory.EmptyHtml(), - new ExpressionBlock( - Factory.CodeTransition(), - Factory.Code("foo(" + Environment.NewLine) - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords), - new CommentBlock( - Factory.CodeTransition(CSharpSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaCode("*", CSharpSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new CSharpSymbol( - string.Empty, - CSharpSymbolType.Unknown)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaCode("*", CSharpSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.CodeTransition(CSharpSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.Code(Environment.NewLine) - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords))), - RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF( - new SourceSpan(new SourceLocation(4, 0, 4), contentLength: 1), "(", ")")); + + "@**@" + Environment.NewLine); } [Fact] public void UnterminatedRazorCommentInImplicitExpressionMethodCall() { - ParseDocumentTest("@foo(@*", - new MarkupBlock( - Factory.EmptyHtml(), - new ExpressionBlock( - Factory.CodeTransition(), - Factory.Code("foo(") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords), - new CommentBlock( - Factory.CodeTransition(CSharpSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaCode("*", CSharpSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new CSharpSymbol( - string.Empty, - CSharpSymbolType.Unknown)) - .Accepts(AcceptedCharactersInternal.Any)))), - RazorDiagnosticFactory.CreateParsing_RazorCommentNotTerminated( - new SourceSpan(new SourceLocation(5, 0, 5), contentLength: 2)), - RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF( - new SourceSpan(new SourceLocation(4, 0, 4), contentLength: 1), "(", ")")); + ParseDocumentTest("@foo(@*"); } [Fact] @@ -112,66 +44,13 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy ParseDocumentTest("@{" + Environment.NewLine + " " + Environment.NewLine + "@**@" + Environment.NewLine - + "

", - new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("

")), - Factory.Markup(Environment.NewLine), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - string.Empty, - HtmlSymbolType.Unknown)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).With(SpanChunkGenerator.Null), - new MarkupTagBlock( - Factory.Markup("

")) - )); + + "

"); } [Fact] @@ -211,43 +69,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy "

" + Environment.NewLine + " @**@ " + Environment.NewLine + "@**@" + Environment.NewLine - + "

", - new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("

")), - Factory.Markup(Environment.NewLine), - Factory.Markup(" ").With(SpanChunkGenerator.Null), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - string.Empty, - HtmlSymbolType.Unknown)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" " + Environment.NewLine).With(SpanChunkGenerator.Null), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - string.Empty, - HtmlSymbolType.Unknown)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).With(SpanChunkGenerator.Null), - new MarkupTagBlock( - Factory.Markup("

")) - )); + + "

"); } [Fact] @@ -256,43 +78,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy ParseDocumentTest( "

" + Environment.NewLine + "@**@ @**@" + Environment.NewLine - + "

", - new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("

")), - Factory.Markup(Environment.NewLine), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - string.Empty, - HtmlSymbolType.Unknown)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.EmptyHtml(), - Factory.Markup(" ").With(SpanChunkGenerator.Null), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - string.Empty, - HtmlSymbolType.Unknown)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).With(SpanChunkGenerator.Null), - new MarkupTagBlock( - Factory.Markup("

")) - )); + + "

"); } [Fact] @@ -301,42 +87,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy ParseDocumentTest( "

" + Environment.NewLine + "@* hello *@ content @* world *@" + Environment.NewLine - + "

", - new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("

")), - Factory.Markup(Environment.NewLine), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - " hello ", - HtmlSymbolType.RazorComment)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" content "), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - " world ", - HtmlSymbolType.RazorComment)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine), - new MarkupTagBlock( - Factory.Markup("

")) - )); + + "

"); } [Fact] @@ -348,43 +99,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy + "@*" + Environment.NewLine + "content" + Environment.NewLine + "*@" + Environment.NewLine + Environment.NewLine - + "

", - new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("

")), - Factory.Markup(Environment.NewLine + Environment.NewLine), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - " content ", - HtmlSymbolType.RazorComment)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).With(SpanChunkGenerator.Null), - new CommentBlock( - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.Span(SpanKindInternal.Comment, new HtmlSymbol( - Environment.NewLine + "content" + Environment.NewLine, - HtmlSymbolType.RazorComment)) - .Accepts(AcceptedCharactersInternal.Any), - Factory.MetaMarkup("*", HtmlSymbolType.RazorCommentStar) - .Accepts(AcceptedCharactersInternal.None), - Factory.MarkupTransition(HtmlSymbolType.RazorCommentTransition) - .Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).With(SpanChunkGenerator.Null), - Factory.Markup(Environment.NewLine), - new MarkupTagBlock( - Factory.Markup("

")) - )); + + "

"); } } } diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpReservedWordsTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpReservedWordsTest.cs index 7248a798bc..57ac9757fc 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpReservedWordsTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpReservedWordsTest.cs @@ -11,35 +11,17 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { UseBaselineTests = true; } - - [Theory] - [InlineData("namespace")] - [InlineData("class")] - public void ReservedWords(string word) + + [Fact] + public void ReservedWord() { - ParseBlockTest(word, - new DirectiveBlock( - Factory.MetaCode(word).Accepts(AcceptedCharactersInternal.None) - ), - RazorDiagnosticFactory.CreateParsing_ReservedWord( - new SourceSpan(SourceLocation.Zero, word.Length), word)); + ParseBlockTest("namespace"); } - [Theory] - [InlineData("Namespace")] - [InlineData("Class")] - [InlineData("NAMESPACE")] - [InlineData("CLASS")] - [InlineData("nameSpace")] - [InlineData("NameSpace")] - private void ReservedWordsAreCaseSensitive(string word) + [Fact] + private void ReservedWordIsCaseSensitive() { - ParseBlockTest(word, - new ExpressionBlock( - Factory.Code(word) - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace) - )); + ParseBlockTest("NameSpace"); } } } diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpToMarkupSwitchTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpToMarkupSwitchTest.cs index 1d96a65590..adf71262af 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpToMarkupSwitchTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/Legacy/CSharpToMarkupSwitchTest.cs @@ -8,40 +8,21 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { public class CSharpToMarkupSwitchTest : CsHtmlCodeParserTestBase { + public CSharpToMarkupSwitchTest() + { + UseBaselineTests = true; + } + [Fact] public void SingleAngleBracketDoesNotCauseSwitchIfOuterBlockIsTerminated() { - ParseBlockTest("{ List< }", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code(" List< ") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None))); + ParseBlockTest("{ List< }"); } [Fact] public void ParseBlockGivesSpacesToCodeOnAtTagTemplateTransitionInDesignTimeMode() { - ParseBlockTest("Foo( @

Foo

)", - new ExpressionBlock( - Factory.Code("Foo( ") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.Any), - new TemplateBlock( - new MarkupBlock( - Factory.MarkupTransition(), - new MarkupTagBlock( - Factory.Markup("

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

").Accepts(AcceptedCharactersInternal.None)) - ) - ), - Factory.Code(" )") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace) - ), designTime: true); + ParseBlockTest("Foo( @

Foo

)", designTime: true); } [Fact] @@ -49,21 +30,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { ParseBlockTest("Foo( " + Environment.NewLine + "@:

Foo

" + Environment.NewLine - + ")", - new ExpressionBlock( - Factory.Code("Foo( " + Environment.NewLine).AsImplicitExpression(CSharpCodeParser.DefaultKeywords), - new TemplateBlock( - new MarkupBlock( - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup("

Foo

" + Environment.NewLine) - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ) - ), - Factory.Code(")") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace) - ), designTime: true); + + ")", designTime: true); } [Fact] @@ -71,22 +38,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { ParseBlockTest("{" + Environment.NewLine + "

Foo

" + Environment.NewLine - + "}", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code(Environment.NewLine + " ") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("

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

").Accepts(AcceptedCharactersInternal.None)) - ), - Factory.Code(" " + Environment.NewLine).AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None) - ), designTime: true); + + "}", designTime: true); } [Fact] @@ -94,25 +46,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { ParseBlockTest("{" + Environment.NewLine + " @

Foo

" + Environment.NewLine - + "}", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code(Environment.NewLine + " ") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - new MarkupBlock( - Factory.MarkupTransition(), - new MarkupTagBlock( - Factory.Markup("

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

").Accepts(AcceptedCharactersInternal.None)) - ), - Factory.Code(" " + Environment.NewLine).AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None) - ), true, - RazorDiagnosticFactory.CreateParsing_AtInCodeMustBeFollowedByColonParenOrIdentifierStart( - new SourceSpan(new SourceLocation(5 + Environment.NewLine.Length, 1, 4), contentLength: 1))); + + "}", designTime: true); } [Fact] @@ -120,21 +54,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { ParseBlockTest("{" + Environment.NewLine + " @:

Foo

" + Environment.NewLine - + "}", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code(Environment.NewLine + " ") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - new MarkupBlock( - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup("

Foo

" + Environment.NewLine) - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ), - Factory.EmptyCSharp().AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None) - ), designTime: true); + + "}", designTime: true); } [Fact] @@ -142,32 +62,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { ParseBlockTest("Repeat(10," + Environment.NewLine + " @: @{}" + Environment.NewLine - + ")", - new ExpressionBlock( - Factory.Code($"Repeat(10,{Environment.NewLine} ") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords), - new TemplateBlock( - new MarkupBlock( - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup(" ") - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString)), - new StatementBlock( - Factory.CodeTransition(), - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.EmptyCSharp() - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None) - ), - Factory.Markup(Environment.NewLine) - .Accepts(AcceptedCharactersInternal.None) - ) - ), - Factory.Code(")") - .AsImplicitExpression(CSharpCodeParser.DefaultKeywords) - .Accepts(AcceptedCharactersInternal.NonWhiteSpace) - )); + + ")"); } [Fact] @@ -180,35 +75,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy + "
" + Environment.NewLine + "Foo" + Environment.NewLine + "@:Bar" + Environment.NewLine - + "}", - new StatementBlock( - Factory.Code(string.Format("foreach(var file in files){{{0}{0}{0}", Environment.NewLine)).AsStatement(), - new MarkupBlock( - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup("Baz" + Environment.NewLine) - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ), - new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("
").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - new MarkupBlock( - new MarkupTagBlock( - Factory.Markup("").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Foo"), - new MarkupTagBlock( - Factory.Markup("").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None)), - new MarkupBlock( - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup("Bar" + Environment.NewLine) - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ), - Factory.Code("}").AsStatement().Accepts(AcceptedCharactersInternal.None) - )); + + "}"); } [Fact] @@ -222,115 +89,19 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy + "

" + Environment.NewLine + " @:Hello!" + Environment.NewLine + " var biz = boz;" + Environment.NewLine - + "}", - new StatementBlock( - Factory.Code( - $"if(foo) {{{Environment.NewLine} var foo = \"After this statement there are " + - "10 spaces\"; " + Environment.NewLine).AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup($"{Environment.NewLine} Foo{Environment.NewLine}"), - new ExpressionBlock( - Factory.Code(" ").AsStatement(), - Factory.CodeTransition(), - Factory.Code("bar").AsImplicitExpression(CSharpCodeParser.DefaultKeywords).Accepts(AcceptedCharactersInternal.NonWhiteSpace) - ), - Factory.Markup(Environment.NewLine + " "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - new MarkupBlock( - Factory.Markup(" "), - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup("Hello!" + Environment.NewLine).With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ), - Factory.Code($" var biz = boz;{Environment.NewLine}}}").AsStatement())); + + "}"); } [Fact] public void ParseBlockAllowsMarkupInIfBodyWithBraces() { - ParseBlockTest("if(foo) {

Bar

} else if(bar) {

Baz

} else {

Boz

}", - new StatementBlock( - Factory.Code("if(foo) {").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Bar"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("} else if(bar) {").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Baz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("} else {").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Boz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("}").AsStatement().Accepts(AcceptedCharactersInternal.None) - )); + ParseBlockTest("if(foo) {

Bar

} else if(bar) {

Baz

} else {

Boz

}"); } [Fact] public void ParseBlockAllowsMarkupInIfBodyWithBracesWithinCodeBlock() { - ParseBlockTest("{ if(foo) {

Bar

} else if(bar) {

Baz

} else {

Boz

} }", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code(" if(foo) {") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Bar"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("} else if(bar) {").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Baz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("} else {").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Boz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("} ").AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None) - )); + ParseBlockTest("{ if(foo) {

Bar

} else if(bar) {

Baz

} else {

Boz

} }"); } [Fact] @@ -351,60 +122,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy + " }" + Environment.NewLine + " default:" + Environment.NewLine + "

Biz

" + Environment.NewLine - + "}", - new StatementBlock( - Factory.Code($"switch(foo) {{{Environment.NewLine} case 0:{Environment.NewLine}").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

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

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code($" break;{Environment.NewLine} case 1:{Environment.NewLine}").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Bar"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code( - $" return;{Environment.NewLine} case 2:{Environment.NewLine}" + - " {" + Environment.NewLine).AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Baz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Boz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code($" }}{Environment.NewLine} default:{Environment.NewLine}").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Biz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("}").AsStatement().Accepts(AcceptedCharactersInternal.None))); + + "}"); } [Fact] @@ -425,105 +143,19 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy + " }" + Environment.NewLine + " default:" + Environment.NewLine + "

Biz

" + Environment.NewLine - + "} }", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code($" switch(foo) {{{Environment.NewLine} case 0:{Environment.NewLine}") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

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

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code($" break;{Environment.NewLine} case 1:{Environment.NewLine}").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Bar"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code( - $" return;{Environment.NewLine} case 2:{Environment.NewLine}" + - " {" + Environment.NewLine).AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Baz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Boz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code($" }}{Environment.NewLine} default:{Environment.NewLine}").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("Biz"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("} ").AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None))); + + "} }"); } [Fact] public void ParseBlockParsesMarkupStatementOnOpenAngleBracket() { - ParseBlockTest("for(int i = 0; i < 10; i++) {

Foo

}", - new StatementBlock( - Factory.Code("for(int i = 0; i < 10; i++) {").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

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

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("}").AsStatement().Accepts(AcceptedCharactersInternal.None) - )); + ParseBlockTest("for(int i = 0; i < 10; i++) {

Foo

}"); } [Fact] public void ParseBlockParsesMarkupStatementOnOpenAngleBracketInCodeBlock() { - ParseBlockTest("{ for(int i = 0; i < 10; i++) {

Foo

} }", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code(" for(int i = 0; i < 10; i++) {") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

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

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code("} ").AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None))); + ParseBlockTest("{ for(int i = 0; i < 10; i++) {

Foo

} }"); } [Fact] @@ -531,17 +163,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { // Arrange ParseBlockTest("if(foo) { @:Bar" + Environment.NewLine - + "} zoop", - new StatementBlock( - Factory.Code("if(foo) {").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup("Bar" + Environment.NewLine) - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ), - Factory.Code("}").AsStatement())); + + "} zoop"); } [Fact] @@ -549,17 +171,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { // Arrange ParseBlockTest("if(foo) { @::Sometext" + Environment.NewLine - + "}", - new StatementBlock( - Factory.Code("if(foo) {").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup(":Sometext" + Environment.NewLine) - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ), - Factory.Code("}").AsStatement())); + + "}"); } @@ -568,17 +180,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { // Arrange ParseBlockTest("if(foo) { @:::Sometext" + Environment.NewLine - + "}", - new StatementBlock( - Factory.Code("if(foo) {").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup("::Sometext" + Environment.NewLine) - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ), - Factory.Code("}").AsStatement())); + + "}"); } [Fact] @@ -586,55 +188,19 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy { // Arrange ParseBlockTest("{ if(foo) { @:Bar" + Environment.NewLine - + "} } zoop", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code(" if(foo) {") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - new MarkupBlock( - Factory.Markup(" "), - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup("Bar" + Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ), - Factory.Code("} ").AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None))); + + "} } zoop"); } [Fact] public void ParseBlockCorrectlyReturnsFromMarkupBlockWithPseudoTag() { - ParseBlockTest("if (i > 0) { ; }", - new StatementBlock( - Factory.Code("if (i > 0) { ").AsStatement(), - new MarkupBlock( - new MarkupTagBlock( - Factory.MarkupTransition("").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(";").Accepts(AcceptedCharactersInternal.None), - new MarkupTagBlock( - Factory.MarkupTransition("").Accepts(AcceptedCharactersInternal.None))), - Factory.Code(" }").AsStatement())); + ParseBlockTest("if (i > 0) { ; }"); } [Fact] public void ParseBlockCorrectlyReturnsFromMarkupBlockWithPseudoTagInCodeBlock() { - ParseBlockTest("{ if (i > 0) { ; } }", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code(" if (i > 0) { ") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - new MarkupBlock( - new MarkupTagBlock( - Factory.MarkupTransition("").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(";").Accepts(AcceptedCharactersInternal.None), - new MarkupTagBlock( - Factory.MarkupTransition("").Accepts(AcceptedCharactersInternal.None))), - Factory.Code(" } ").AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None))); + ParseBlockTest("{ if (i > 0) { ; } }"); } [Fact] @@ -650,42 +216,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy + " if(!false) {" + Environment.NewLine + "

A real tag!

" + Environment.NewLine + " }" + Environment.NewLine - + "}", - new StatementBlock( - Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None), - Factory.Code($"{Environment.NewLine} if(true) {{{Environment.NewLine}") - .AsStatement() - .AutoCompleteWith(autoCompleteString: null), - new MarkupBlock( - Factory.Markup(" "), - Factory.MarkupTransition(), - Factory.MetaMarkup(":", HtmlSymbolType.Colon), - Factory.Markup("Single Line Markup" + Environment.NewLine) - .With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString, AcceptedCharactersInternal.None)) - ), - Factory.Code($" }}{Environment.NewLine} foreach (var p in Enumerable.Range(1, 10)) {{{Environment.NewLine} ").AsStatement(), - new MarkupBlock( - new MarkupTagBlock( - Factory.MarkupTransition("").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("The number is ").Accepts(AcceptedCharactersInternal.None), - new ExpressionBlock( - Factory.CodeTransition(), - Factory.Code("p").AsImplicitExpression(CSharpCodeParser.DefaultKeywords).Accepts(AcceptedCharactersInternal.NonWhiteSpace) - ), - new MarkupTagBlock( - Factory.MarkupTransition("").Accepts(AcceptedCharactersInternal.None))), - Factory.Code($"{Environment.NewLine} }}{Environment.NewLine} if(!false) {{{Environment.NewLine}").AsStatement(), - new MarkupBlock( - Factory.Markup(" "), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup("A real tag!"), - new MarkupTagBlock( - Factory.Markup("

").Accepts(AcceptedCharactersInternal.None)), - Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None) - ), - Factory.Code(" }" + Environment.NewLine).AsStatement(), - Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None))); + + "}"); } } } diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/EmptyRazorComment.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/EmptyRazorComment.syntaxtree.txt new file mode 100644 index 0000000000..87e94e8487 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/EmptyRazorComment.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 4 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Comment block - Gen - 4 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Unknown;[]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (2:0,2) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/MultipleRazorCommentInMarkup.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/MultipleRazorCommentInMarkup.syntaxtree.txt new file mode 100644 index 0000000000..fb0fc05609 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/MultipleRazorCommentInMarkup.syntaxtree.txt @@ -0,0 +1,43 @@ +Markup block - Gen - 25 - (0:0,0) + Tag block - Gen - 3 - (0:0,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (5:1,0) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Comment block - Gen - 4 - (7:1,2) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (7:1,2) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (8:1,3) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (9:1,4) - Symbols:1 + HtmlSymbolType.Unknown;[]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (9:1,4) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:1,5) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [ LF] - SpanEditHandler;Accepts:Any - (11:1,6) - Symbols:2 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.NewLine;[LF]; + Comment block - Gen - 4 - (15:2,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:2,0) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (16:2,1) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (17:2,2) - Symbols:1 + HtmlSymbolType.Unknown;[]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (17:2,2) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (18:2,3) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (19:2,4) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 4 - (21:3,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (21:3,0) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/MultipleRazorCommentsInSameLineInMarkup.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/MultipleRazorCommentsInSameLineInMarkup.syntaxtree.txt new file mode 100644 index 0000000000..8e60c9043c --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/MultipleRazorCommentsInSameLineInMarkup.syntaxtree.txt @@ -0,0 +1,42 @@ +Markup block - Gen - 21 - (0:0,0) + Tag block - Gen - 3 - (0:0,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Comment block - Gen - 4 - (5:1,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:1,0) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (6:1,1) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (7:1,2) - Symbols:1 + HtmlSymbolType.Unknown;[]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (7:1,2) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (8:1,3) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (9:1,4) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (9:1,4) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Comment block - Gen - 4 - (11:1,6) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (11:1,6) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (12:1,7) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (13:1,8) - Symbols:1 + HtmlSymbolType.Unknown;[]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (13:1,8) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (14:1,9) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (15:1,10) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 4 - (17:2,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (17:2,0) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInImplicitExpressionMethodCall.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInImplicitExpressionMethodCall.diagnostics.txt new file mode 100644 index 0000000000..ade6c85b25 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInImplicitExpressionMethodCall.diagnostics.txt @@ -0,0 +1 @@ +(1,5): Error RZ1027: An opening "(" is missing the corresponding closing ")". diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInImplicitExpressionMethodCall.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInImplicitExpressionMethodCall.syntaxtree.txt new file mode 100644 index 0000000000..8e31004d17 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInImplicitExpressionMethodCall.syntaxtree.txt @@ -0,0 +1,23 @@ +Markup block - Gen - 13 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Expression block - Gen - 13 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [foo(LF] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3 + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.NewLine;[LF]; + Comment block - Gen - 4 - (7:1,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (7:1,0) - Symbols:1 + CSharpSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (8:1,1) - Symbols:1 + CSharpSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (9:1,2) - Symbols:1 + CSharpSymbolType.Unknown;[]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (9:1,2) - Symbols:1 + CSharpSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (10:1,3) - Symbols:1 + CSharpSymbolType.RazorCommentTransition;[@]; + Code span - Gen - [LF] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (11:1,4) - Symbols:1 + CSharpSymbolType.NewLine;[LF]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInMarkup.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInMarkup.syntaxtree.txt new file mode 100644 index 0000000000..8a702cad41 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInMarkup.syntaxtree.txt @@ -0,0 +1,27 @@ +Markup block - Gen - 15 - (0:0,0) + Tag block - Gen - 3 - (0:0,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Comment block - Gen - 4 - (5:1,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:1,0) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (6:1,1) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (7:1,2) - Symbols:1 + HtmlSymbolType.Unknown;[]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (7:1,2) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (8:1,3) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (9:1,4) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 4 - (11:2,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (11:2,0) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInVerbatimBlock.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInVerbatimBlock.diagnostics.txt new file mode 100644 index 0000000000..1567f665b6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInVerbatimBlock.diagnostics.txt @@ -0,0 +1,3 @@ +(2,6): Error RZ1023: "" and "" tags cannot contain attributes. +(2,6): Error RZ1025: The "text" element was not closed. All elements must be either self-closing or have a matching end tag. +(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/CSharpRazorCommentsTest/RazorCommentInVerbatimBlock.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInVerbatimBlock.syntaxtree.txt new file mode 100644 index 0000000000..ca37c88848 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentInVerbatimBlock.syntaxtree.txt @@ -0,0 +1,35 @@ +Markup block - Gen - 26 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 26 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [LF ] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL - (2:0,2) - Symbols:2 + CSharpSymbolType.NewLine;[LF]; + CSharpSymbolType.WhiteSpace;[ ]; + Markup block - Gen - 18 - (8:1,4) + Tag block - Gen - 5 - (8:1,4) + Transition span - Gen - [ - [LF] - SpanEditHandler;Accepts:None - (13:1,9) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (15:2,0) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Comment block - Gen - 4 - (19:2,4) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (19:2,4) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (20:2,5) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (21:2,6) - Symbols:1 + HtmlSymbolType.Unknown;[]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (21:2,6) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (22:2,7) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (23:2,8) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Markup span - Gen - [}] - SpanEditHandler;Accepts:Any - (25:3,0) - Symbols:1 + HtmlSymbolType.Text;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentWithExtraNewLineInMarkup.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentWithExtraNewLineInMarkup.syntaxtree.txt new file mode 100644 index 0000000000..68282435f9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentWithExtraNewLineInMarkup.syntaxtree.txt @@ -0,0 +1,43 @@ +Markup block - Gen - 45 - (0:0,0) + Tag block - Gen - 3 - (0:0,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [LFLF] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:2 + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.NewLine;[LF]; + Comment block - Gen - 13 - (7:2,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (7:2,0) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (8:2,1) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [ content ] - SpanEditHandler;Accepts:Any - (9:2,2) - Symbols:1 + HtmlSymbolType.RazorComment;[ content ]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (18:2,11) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (19:2,12) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (20:2,13) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Comment block - Gen - 15 - (22:3,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (22:3,0) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (23:3,1) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [LFcontentLF] - SpanEditHandler;Accepts:Any - (24:3,2) - Symbols:1 + HtmlSymbolType.RazorComment;[LFcontentLF]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (35:5,0) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (36:5,1) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (37:5,2) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (39:6,0) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 4 - (41:7,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (41:7,0) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentsSurroundingMarkup.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentsSurroundingMarkup.syntaxtree.txt new file mode 100644 index 0000000000..3dd0ba4972 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/RazorCommentsSurroundingMarkup.syntaxtree.txt @@ -0,0 +1,42 @@ +Markup block - Gen - 42 - (0:0,0) + Tag block - Gen - 3 - (0:0,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Comment block - Gen - 11 - (5:1,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:1,0) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (6:1,1) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [ hello ] - SpanEditHandler;Accepts:Any - (7:1,2) - Symbols:1 + HtmlSymbolType.RazorComment;[ hello ]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (14:1,9) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (15:1,10) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [ content ] - SpanEditHandler;Accepts:Any - (16:1,11) - Symbols:3 + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[content]; + HtmlSymbolType.WhiteSpace;[ ]; + Comment block - Gen - 11 - (25:1,20) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (25:1,20) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (26:1,21) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [ world ] - SpanEditHandler;Accepts:Any - (27:1,22) - Symbols:1 + HtmlSymbolType.RazorComment;[ world ]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (34:1,29) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (35:1,30) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:Any - (36:1,31) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Tag block - Gen - 4 - (38:2,0) + Markup span - Gen - [

] - SpanEditHandler;Accepts:Any - (38:2,0) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorComment.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorComment.diagnostics.txt new file mode 100644 index 0000000000..4f3108141d --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorComment.diagnostics.txt @@ -0,0 +1 @@ +(1,1): Error RZ1028: End of file was reached before the end of the block comment. All comments that start with the "@*" sequence must be terminated with a matching "*@" sequence. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorComment.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorComment.syntaxtree.txt new file mode 100644 index 0000000000..b2de99c70f --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorComment.syntaxtree.txt @@ -0,0 +1,10 @@ +Markup block - Gen - 2 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Comment block - Gen - 2 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + HtmlSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1 + HtmlSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:1 + HtmlSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInImplicitExpressionMethodCall.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInImplicitExpressionMethodCall.diagnostics.txt new file mode 100644 index 0000000000..b65a64c148 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInImplicitExpressionMethodCall.diagnostics.txt @@ -0,0 +1,2 @@ +(1,6): Error RZ1028: End of file was reached before the end of the block comment. All comments that start with the "@*" sequence must be terminated with a matching "*@" sequence. +(1,5): Error RZ1027: An opening "(" is missing the corresponding closing ")". diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInImplicitExpressionMethodCall.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInImplicitExpressionMethodCall.syntaxtree.txt new file mode 100644 index 0000000000..8a9ca61d07 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInImplicitExpressionMethodCall.syntaxtree.txt @@ -0,0 +1,16 @@ +Markup block - Gen - 7 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Expression block - Gen - 7 - (0:0,0) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [foo(] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:2 + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.LeftParenthesis;[(]; + Comment block - Gen - 2 - (5:0,5) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:1 + CSharpSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1 + CSharpSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1 + CSharpSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInVerbatimBlock.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInVerbatimBlock.diagnostics.txt new file mode 100644 index 0000000000..37d6bd7155 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInVerbatimBlock.diagnostics.txt @@ -0,0 +1,2 @@ +(1,3): Error RZ1028: End of file was reached before the end of the block comment. All comments that start with the "@*" sequence must be terminated with a matching "*@" sequence. +(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/CSharpRazorCommentsTest/UnterminatedRazorCommentInVerbatimBlock.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInVerbatimBlock.syntaxtree.txt new file mode 100644 index 0000000000..9acfe929f8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpRazorCommentsTest/UnterminatedRazorCommentInVerbatimBlock.syntaxtree.txt @@ -0,0 +1,17 @@ +Markup block - Gen - 4 - (0:0,0) + Markup span - Gen - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1 + HtmlSymbolType.Unknown;[]; + Statement block - Gen - 4 - (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 - [] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL - (2:0,2) - Symbols:1 + CSharpSymbolType.Unknown;[]; + Comment block - Gen - 2 - (2:0,2) + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (2:0,2) - Symbols:1 + CSharpSymbolType.RazorCommentTransition;[@]; + MetaCode span - Gen - [*] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:1 + CSharpSymbolType.RazorCommentStar;[*]; + Comment span - Gen - [] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:1 + CSharpSymbolType.Unknown;[]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpReservedWordsTest/ReservedWord.diagnostics.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpReservedWordsTest/ReservedWord.diagnostics.txt new file mode 100644 index 0000000000..7b748fffe4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpReservedWordsTest/ReservedWord.diagnostics.txt @@ -0,0 +1 @@ +(1,1): Error RZ1007: "namespace" is a reserved word and cannot be used in implicit expressions. An explicit expression ("@()") must be used. diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpReservedWordsTest/ReservedWord.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpReservedWordsTest/ReservedWord.syntaxtree.txt new file mode 100644 index 0000000000..700a0bc901 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpReservedWordsTest/ReservedWord.syntaxtree.txt @@ -0,0 +1,3 @@ +Directive block - Gen - 9 - (0:0,0) + MetaCode span - Gen - [namespace] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.Keyword;[namespace]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpReservedWordsTest/ReservedWordIsCaseSensitive.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpReservedWordsTest/ReservedWordIsCaseSensitive.syntaxtree.txt new file mode 100644 index 0000000000..5e115a5168 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpReservedWordsTest/ReservedWordIsCaseSensitive.syntaxtree.txt @@ -0,0 +1,3 @@ +Expression block - Gen - 9 - (0:0,0) + Code span - Gen - [NameSpace] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (0:0,0) - Symbols:1 + CSharpSymbolType.Identifier;[NameSpace]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockAllowsMarkupInIfBodyWithBraces.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockAllowsMarkupInIfBodyWithBraces.syntaxtree.txt new file mode 100644 index 0000000000..8b97a3aab7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockAllowsMarkupInIfBodyWithBraces.syntaxtree.txt @@ -0,0 +1,81 @@ +Statement block - Gen - 70 - (0:0,0) + Code span - Gen - [if(foo) {] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:6 + CSharpSymbolType.Keyword;[if]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 12 - (9:0,9) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 3 - (10:0,10) + Markup span - Gen - [

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

] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [} else if(bar) {] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:10 + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[else]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[if]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 12 - (37:0,37) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (37:0,37) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 3 - (38:0,38) + Markup span - Gen - [

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

] - SpanEditHandler;Accepts:None - (44:0,44) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (48:0,48) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [} else {] - SpanEditHandler;Accepts:Any - (49:0,49) - Symbols:5 + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[else]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 12 - (57:0,57) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (57:0,57) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 3 - (58:0,58) + Markup span - Gen - [

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

] - SpanEditHandler;Accepts:None - (64:0,64) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (68:0,68) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [}] - SpanEditHandler;Accepts:None - (69:0,69) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockAllowsMarkupInIfBodyWithBracesWithinCodeBlock.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockAllowsMarkupInIfBodyWithBracesWithinCodeBlock.syntaxtree.txt new file mode 100644 index 0000000000..a0e6a7d0d0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockAllowsMarkupInIfBodyWithBracesWithinCodeBlock.syntaxtree.txt @@ -0,0 +1,87 @@ +Statement block - Gen - 74 - (0:0,0) + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [ if(foo) {] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (1:0,1) - Symbols:7 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[if]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 12 - (11:0,11) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 3 - (12:0,12) + Markup span - Gen - [

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

] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [} else if(bar) {] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:10 + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[else]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[if]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[bar]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 12 - (39:0,39) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (39:0,39) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 3 - (40:0,40) + Markup span - Gen - [

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

] - SpanEditHandler;Accepts:None - (46:0,46) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (50:0,50) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [} else {] - SpanEditHandler;Accepts:Any - (51:0,51) - Symbols:5 + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[else]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + Markup block - Gen - 12 - (59:0,59) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (59:0,59) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 3 - (60:0,60) + Markup span - Gen - [

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

] - SpanEditHandler;Accepts:None - (66:0,66) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [ ] - SpanEditHandler;Accepts:None - (70:0,70) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Code span - Gen - [} ] - SpanEditHandler;Accepts:Any - (71:0,71) - Symbols:2 + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (73:0,73) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockCorrectlyReturnsFromMarkupBlockWithPseudoTag.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockCorrectlyReturnsFromMarkupBlockWithPseudoTag.syntaxtree.txt new file mode 100644 index 0000000000..8767ea9b4e --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockCorrectlyReturnsFromMarkupBlockWithPseudoTag.syntaxtree.txt @@ -0,0 +1,31 @@ +Statement block - Gen - 29 - (0:0,0) + Code span - Gen - [if (i > 0) { ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:12 + CSharpSymbolType.Keyword;[if]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[i]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.IntegerLiteral;[0]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + Markup block - Gen - 14 - (13:0,13) + Tag block - Gen - 6 - (13:0,13) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (13:0,13) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [;] - SpanEditHandler;Accepts:None - (19:0,19) - Symbols:1 + HtmlSymbolType.Text;[;]; + Tag block - Gen - 7 - (20:0,20) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [ }] - SpanEditHandler;Accepts:Any - (27:0,27) - Symbols:2 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockCorrectlyReturnsFromMarkupBlockWithPseudoTagInCodeBlock.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockCorrectlyReturnsFromMarkupBlockWithPseudoTagInCodeBlock.syntaxtree.txt new file mode 100644 index 0000000000..470eac3553 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockCorrectlyReturnsFromMarkupBlockWithPseudoTagInCodeBlock.syntaxtree.txt @@ -0,0 +1,37 @@ +Statement block - Gen - 33 - (0:0,0) + MetaCode span - Gen - [{] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1 + CSharpSymbolType.LeftBrace;[{]; + Code span - Gen - [ if (i > 0) { ] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[];AtEOL - (1:0,1) - Symbols:13 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Keyword;[if]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[i]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.GreaterThan;[>]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.IntegerLiteral;[0]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.WhiteSpace;[ ]; + Markup block - Gen - 14 - (15:0,15) + Tag block - Gen - 6 - (15:0,15) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [;] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:1 + HtmlSymbolType.Text;[;]; + Tag block - Gen - 7 - (22:0,22) + Transition span - Gen - [] - SpanEditHandler;Accepts:None - (22:0,22) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[text]; + HtmlSymbolType.CloseAngle;[>]; + Code span - Gen - [ } ] - SpanEditHandler;Accepts:Any - (29:0,29) - Symbols:3 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.RightBrace;[}]; + CSharpSymbolType.WhiteSpace;[ ]; + MetaCode span - Gen - [}] - SpanEditHandler;Accepts:None - (32:0,32) - Symbols:1 + CSharpSymbolType.RightBrace;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockGivesAllWhitespaceOnSameLineExcludingPreceedingNewlineButIncludingTrailingNewLineToMarkup.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockGivesAllWhitespaceOnSameLineExcludingPreceedingNewlineButIncludingTrailingNewLineToMarkup.syntaxtree.txt new file mode 100644 index 0000000000..2273388c86 --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockGivesAllWhitespaceOnSameLineExcludingPreceedingNewlineButIncludingTrailingNewLineToMarkup.syntaxtree.txt @@ -0,0 +1,74 @@ +Statement block - Gen - 161 - (0:0,0) + Code span - Gen - [if(foo) {LF var foo = "After this statement there are 10 spaces"; LF] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:18 + CSharpSymbolType.Keyword;[if]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.RightParenthesis;[)]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.LeftBrace;[{]; + CSharpSymbolType.NewLine;[LF]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[foo]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.StringLiteral;["After this statement there are 10 spaces"]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.NewLine;[LF]; + Markup block - Gen - 46 - (80:2,0) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (80:2,0) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 3 - (84:2,4) + Markup span - Gen - [

] - SpanEditHandler;Accepts:None - (84:2,4) - Symbols:3 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [LF FooLF] - SpanEditHandler;Accepts:Any - (87:2,7) - Symbols:4 + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.WhiteSpace;[ ]; + HtmlSymbolType.Text;[Foo]; + HtmlSymbolType.NewLine;[LF]; + Expression block - Gen - 12 - (102:4,0) + Code span - Gen - [ ] - SpanEditHandler;Accepts:Any - (102:4,0) - Symbols:1 + CSharpSymbolType.WhiteSpace;[ ]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (110:4,8) - Symbols:1 + CSharpSymbolType.Transition;[@]; + Code span - Gen - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (111:4,9) - Symbols:1 + CSharpSymbolType.Identifier;[bar]; + Markup span - Gen - [LF ] - SpanEditHandler;Accepts:Any - (114:4,12) - Symbols:2 + HtmlSymbolType.NewLine;[LF]; + HtmlSymbolType.WhiteSpace;[ ]; + Tag block - Gen - 4 - (120:5,4) + Markup span - Gen - [

] - SpanEditHandler;Accepts:None - (120:5,4) - Symbols:4 + HtmlSymbolType.OpenAngle;[<]; + HtmlSymbolType.ForwardSlash;[/]; + HtmlSymbolType.Text;[p]; + HtmlSymbolType.CloseAngle;[>]; + Markup span - Gen - [LF] - SpanEditHandler;Accepts:None - (124:5,8) - Symbols:1 + HtmlSymbolType.NewLine;[LF]; + Markup block - Gen - 14 - (126:6,0) + Markup span - Gen - [ ] - SpanEditHandler;Accepts:Any - (126:6,0) - Symbols:1 + HtmlSymbolType.WhiteSpace;[ ]; + Transition span - Gen - [@] - SpanEditHandler;Accepts:None - (130:6,4) - Symbols:1 + HtmlSymbolType.Transition;[@]; + MetaCode span - Gen - [:] - SpanEditHandler;Accepts:Any - (131:6,5) - Symbols:1 + HtmlSymbolType.Colon;[:]; + Markup span - Gen - [Hello!LF] - SpanEditHandler;Accepts:None - (132:6,6) - Symbols:3 + HtmlSymbolType.Text;[Hello]; + HtmlSymbolType.Bang;[!]; + HtmlSymbolType.NewLine;[LF]; + Code span - Gen - [ var biz = boz;LF}] - SpanEditHandler;Accepts:Any - (140:7,0) - Symbols:11 + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[var]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[biz]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Assign;[=]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.Identifier;[boz]; + CSharpSymbolType.Semicolon;[;]; + CSharpSymbolType.NewLine;[LF]; + CSharpSymbolType.RightBrace;[}]; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockGivesSpacesToCodeOnAtColonTemplateTransitionInDesignTimeMode.syntaxtree.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockGivesSpacesToCodeOnAtColonTemplateTransitionInDesignTimeMode.syntaxtree.txt new file mode 100644 index 0000000000..6527c987fe --- /dev/null +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/ParserTests/CSharpToMarkupSwitchTest/ParseBlockGivesSpacesToCodeOnAtColonTemplateTransitionInDesignTimeMode.syntaxtree.txt @@ -0,0 +1,25 @@ +Expression block - Gen - 29 - (0:0,0) + Code span - Gen - [Foo( LF] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (0:0,0) - Symbols:4 + CSharpSymbolType.Identifier;[Foo]; + CSharpSymbolType.LeftParenthesis;[(]; + CSharpSymbolType.WhiteSpace;[ ]; + CSharpSymbolType.NewLine;[LF]; + Template block - Gen