Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new tests for switch case #11063

Merged
merged 1 commit into from
Oct 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -350,4 +350,38 @@ public void IfStatementAfterElse()
}
""");
}

[Fact]
public void DirectiveBetweenSwitchAndCase()
{
ParseDocumentTest("""
@{
switch (1)
{
#if true
case 1:
<div>Case 1</div>
break;
#endif
}
}
""");
}

[Fact]
public void DirectiveBetweenSwitchAndCase_BeforeBrace()
{
ParseDocumentTest("""
@{
switch (1)
#if true
{
case 1:
<div>Case 1</div>
break;
#endif
}
}
""");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Markup span at (0:0,0 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [121] )
Transition span at (0:0,0 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [121] )
MetaCode span at (1:0,1 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [121] )
Code span at (2:0,2 [118] ) (Accepts:Any) - Parent: Statement block at (0:0,0 [121] )
MetaCode span at (120:9,0 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [121] )
Markup span at (121:9,1 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [121] )
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
RazorDocument - [0..121)::121 - [@{LF switch (1)LF {LF#if trueLF case 1:LF <div>Case 1</div>LF break;LF#endifLF }LF}]
MarkupBlock - [0..121)::121
MarkupTextLiteral - [0..0)::0 - [] - Gen<Markup> - SpanEditHandler;Accepts:Any
Marker;[];
CSharpCodeBlock - [0..121)::121
CSharpStatement - [0..121)::121
CSharpTransition - [0..1)::1 - Gen<None> - SpanEditHandler;Accepts:None
Transition;[@];
CSharpStatementBody - [1..121)::120
RazorMetaCode - [1..2)::1 - Gen<None> - SpanEditHandler;Accepts:None
LeftBrace;[{];
CSharpCodeBlock - [2..120)::118
CSharpStatementLiteral - [2..120)::118 - [LF switch (1)LF {LF#if trueLF case 1:LF <div>Case 1</div>LF break;LF#endifLF }LF] - Gen<Stmt> - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[<null>];AtEOL
NewLine;[LF];
Whitespace;[ ];
Keyword;[switch];
Whitespace;[ ];
LeftParenthesis;[(];
IntegerLiteral;[1];
RightParenthesis;[)];
NewLine;[LF];
Whitespace;[ ];
LeftBrace;[{];
NewLine;[LF];
Hash;[#];
Keyword;[if];
Whitespace;[ ];
Keyword;[true];
NewLine;[LF];
Whitespace;[ ];
Keyword;[case];
Whitespace;[ ];
IntegerLiteral;[1];
Colon;[:];
NewLine;[LF];
Whitespace;[ ];
LessThan;[<];
Identifier;[div];
GreaterThan;[>];
Identifier;[Case];
Whitespace;[ ];
IntegerLiteral;[1];
LessThan;[<];
Slash;[/];
Identifier;[div];
GreaterThan;[>];
NewLine;[LF];
Whitespace;[ ];
Keyword;[break];
Semicolon;[;];
NewLine;[LF];
Hash;[#];
Identifier;[endif];
NewLine;[LF];
Whitespace;[ ];
RightBrace;[}];
NewLine;[LF];
RazorMetaCode - [120..121)::1 - Gen<None> - SpanEditHandler;Accepts:None
RightBrace;[}];
MarkupTextLiteral - [121..121)::0 - [] - Gen<Markup> - SpanEditHandler;Accepts:Any
Marker;[];
EndOfFile;[];
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Markup span at (0:0,0 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [121] )
Transition span at (0:0,0 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [121] )
MetaCode span at (1:0,1 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [121] )
Code span at (2:0,2 [52] ) (Accepts:Any) - Parent: Statement block at (0:0,0 [121] )
Markup span at (54:5,0 [12] ) (Accepts:Any) - Parent: Markup block at (54:5,0 [31] )
Markup span at (66:5,12 [5] ) (Accepts:None) - Parent: Tag block at (66:5,12 [5] )
Markup span at (71:5,17 [6] ) (Accepts:Any) - Parent: Markup block at (54:5,0 [31] )
Markup span at (77:5,23 [6] ) (Accepts:None) - Parent: Tag block at (77:5,23 [6] )
Markup span at (83:5,29 [2] ) (Accepts:None) - Parent: Markup block at (54:5,0 [31] )
Code span at (85:6,0 [35] ) (Accepts:Any) - Parent: Statement block at (0:0,0 [121] )
MetaCode span at (120:9,0 [1] ) (Accepts:None) - Parent: Statement block at (0:0,0 [121] )
Markup span at (121:9,1 [0] ) (Accepts:Any) - Parent: Markup block at (0:0,0 [121] )
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
RazorDocument - [0..121)::121 - [@{LF switch (1)LF#if trueLF {LF case 1:LF <div>Case 1</div>LF break;LF#endifLF }LF}]
MarkupBlock - [0..121)::121
MarkupTextLiteral - [0..0)::0 - [] - Gen<Markup> - SpanEditHandler;Accepts:Any
Marker;[];
CSharpCodeBlock - [0..121)::121
CSharpStatement - [0..121)::121
CSharpTransition - [0..1)::1 - Gen<None> - SpanEditHandler;Accepts:None
Transition;[@];
CSharpStatementBody - [1..121)::120
RazorMetaCode - [1..2)::1 - Gen<None> - SpanEditHandler;Accepts:None
LeftBrace;[{];
CSharpCodeBlock - [2..120)::118
CSharpStatementLiteral - [2..54)::52 - [LF switch (1)LF#if trueLF {LF case 1:LF] - Gen<Stmt> - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[<null>];AtEOL
NewLine;[LF];
Whitespace;[ ];
Keyword;[switch];
Whitespace;[ ];
LeftParenthesis;[(];
IntegerLiteral;[1];
RightParenthesis;[)];
NewLine;[LF];
Hash;[#];
Keyword;[if];
Whitespace;[ ];
Keyword;[true];
NewLine;[LF];
Whitespace;[ ];
LeftBrace;[{];
NewLine;[LF];
Whitespace;[ ];
Keyword;[case];
Whitespace;[ ];
IntegerLiteral;[1];
Colon;[:];
NewLine;[LF];
MarkupBlock - [54..85)::31
MarkupTextLiteral - [54..66)::12 - [ ] - Gen<Markup> - SpanEditHandler;Accepts:Any
Whitespace;[ ];
MarkupElement - [66..83)::17
MarkupStartTag - [66..71)::5 - [<div>] - Gen<Markup> - SpanEditHandler;Accepts:None
OpenAngle;[<];
Text;[div];
CloseAngle;[>];
MarkupTextLiteral - [71..77)::6 - [Case 1] - Gen<Markup> - SpanEditHandler;Accepts:Any
Text;[Case];
Whitespace;[ ];
Text;[1];
MarkupEndTag - [77..83)::6 - [</div>] - Gen<Markup> - SpanEditHandler;Accepts:None
OpenAngle;[<];
ForwardSlash;[/];
Text;[div];
CloseAngle;[>];
MarkupTextLiteral - [83..85)::2 - [LF] - Gen<Markup> - SpanEditHandler;Accepts:None
NewLine;[LF];
CSharpStatementLiteral - [85..120)::35 - [ break;LF#endifLF }LF] - Gen<Stmt> - SpanEditHandler;Accepts:Any
Whitespace;[ ];
Keyword;[break];
Semicolon;[;];
NewLine;[LF];
Hash;[#];
Identifier;[endif];
NewLine;[LF];
Whitespace;[ ];
RightBrace;[}];
NewLine;[LF];
RazorMetaCode - [120..121)::1 - Gen<None> - SpanEditHandler;Accepts:None
RightBrace;[}];
MarkupTextLiteral - [121..121)::0 - [] - Gen<Markup> - SpanEditHandler;Accepts:Any
Marker;[];
EndOfFile;[];
Original file line number Diff line number Diff line change
Expand Up @@ -362,4 +362,38 @@ public void IfStatementAfterElse()
}
""");
}

[Fact]
public void DirectiveBetweenSwitchAndCase()
{
ParseDocumentTest("""
@{
switch (1)
{
#if true
case 1:
<div>Case 1</div>
break;
#endif
}
}
""");
}

[Fact]
public void DirectiveBetweenSwitchAndCase_BeforeBrace()
{
ParseDocumentTest("""
@{
switch (1)
#if true
{
case 1:
<div>Case 1</div>
break;
#endif
}
}
""");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Markup span at (0:0,0 [0] ) - Parent: Markup block at (0:0,0 [121] )
Transition span at (0:0,0 [1] ) - Parent: Statement block at (0:0,0 [121] )
MetaCode span at (1:0,1 [1] ) - Parent: Statement block at (0:0,0 [121] )
Code span at (2:0,2 [52] ) - Parent: Statement block at (0:0,0 [121] )
Markup span at (54:5,0 [12] ) - Parent: Markup block at (54:5,0 [31] )
Markup span at (66:5,12 [5] ) - Parent: Tag block at (66:5,12 [5] )
Markup span at (71:5,17 [6] ) - Parent: Markup block at (54:5,0 [31] )
Markup span at (77:5,23 [6] ) - Parent: Tag block at (77:5,23 [6] )
Markup span at (83:5,29 [2] ) - Parent: Markup block at (54:5,0 [31] )
Code span at (85:6,0 [35] ) - Parent: Statement block at (0:0,0 [121] )
MetaCode span at (120:9,0 [1] ) - Parent: Statement block at (0:0,0 [121] )
Markup span at (121:9,1 [0] ) - Parent: Markup block at (0:0,0 [121] )
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
RazorDocument - [0..121)::121 - [@{LF switch (1)LF {LF#if trueLF case 1:LF <div>Case 1</div>LF break;LF#endifLF }LF}]
MarkupBlock - [0..121)::121
MarkupTextLiteral - [0..0)::0 - [] - Gen<Markup>
Marker;[];
CSharpCodeBlock - [0..121)::121
CSharpStatement - [0..121)::121
CSharpTransition - [0..1)::1 - Gen<None>
Transition;[@];
CSharpStatementBody - [1..121)::120
RazorMetaCode - [1..2)::1 - Gen<None>
LeftBrace;[{];
CSharpCodeBlock - [2..120)::118
CSharpStatementLiteral - [2..54)::52 - [LF switch (1)LF {LF#if trueLF case 1:LF] - Gen<Stmt>
NewLine;[LF];
Whitespace;[ ];
Keyword;[switch];
Whitespace;[ ];
LeftParenthesis;[(];
NumericLiteral;[1];
RightParenthesis;[)];
NewLine;[LF];
Whitespace;[ ];
LeftBrace;[{];
NewLine;[LF];
CSharpDirective;[#if trueLF];
Whitespace;[ ];
Keyword;[case];
Whitespace;[ ];
NumericLiteral;[1];
Colon;[:];
NewLine;[LF];
MarkupBlock - [54..85)::31
MarkupTextLiteral - [54..66)::12 - [ ] - Gen<Markup>
Whitespace;[ ];
MarkupElement - [66..83)::17
MarkupStartTag - [66..71)::5 - [<div>] - Gen<Markup>
OpenAngle;[<];
Text;[div];
CloseAngle;[>];
MarkupTextLiteral - [71..77)::6 - [Case 1] - Gen<Markup>
Text;[Case];
Whitespace;[ ];
Text;[1];
MarkupEndTag - [77..83)::6 - [</div>] - Gen<Markup>
OpenAngle;[<];
ForwardSlash;[/];
Text;[div];
CloseAngle;[>];
MarkupTextLiteral - [83..85)::2 - [LF] - Gen<Markup>
NewLine;[LF];
CSharpStatementLiteral - [85..120)::35 - [ break;LF#endifLF }LF] - Gen<Stmt>
Whitespace;[ ];
Keyword;[break];
Semicolon;[;];
NewLine;[LF];
CSharpDirective;[#endifLF];
Whitespace;[ ];
RightBrace;[}];
NewLine;[LF];
RazorMetaCode - [120..121)::1 - Gen<None>
RightBrace;[}];
MarkupTextLiteral - [121..121)::0 - [] - Gen<Markup>
Marker;[];
EndOfFile;[];
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Markup span at (0:0,0 [0] ) - Parent: Markup block at (0:0,0 [121] )
Transition span at (0:0,0 [1] ) - Parent: Statement block at (0:0,0 [121] )
MetaCode span at (1:0,1 [1] ) - Parent: Statement block at (0:0,0 [121] )
Code span at (2:0,2 [52] ) - Parent: Statement block at (0:0,0 [121] )
Markup span at (54:5,0 [12] ) - Parent: Markup block at (54:5,0 [31] )
Markup span at (66:5,12 [5] ) - Parent: Tag block at (66:5,12 [5] )
Markup span at (71:5,17 [6] ) - Parent: Markup block at (54:5,0 [31] )
Markup span at (77:5,23 [6] ) - Parent: Tag block at (77:5,23 [6] )
Markup span at (83:5,29 [2] ) - Parent: Markup block at (54:5,0 [31] )
Code span at (85:6,0 [35] ) - Parent: Statement block at (0:0,0 [121] )
MetaCode span at (120:9,0 [1] ) - Parent: Statement block at (0:0,0 [121] )
Markup span at (121:9,1 [0] ) - Parent: Markup block at (0:0,0 [121] )
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
RazorDocument - [0..121)::121 - [@{LF switch (1)LF#if trueLF {LF case 1:LF <div>Case 1</div>LF break;LF#endifLF }LF}]
MarkupBlock - [0..121)::121
MarkupTextLiteral - [0..0)::0 - [] - Gen<Markup>
Marker;[];
CSharpCodeBlock - [0..121)::121
CSharpStatement - [0..121)::121
CSharpTransition - [0..1)::1 - Gen<None>
Transition;[@];
CSharpStatementBody - [1..121)::120
RazorMetaCode - [1..2)::1 - Gen<None>
LeftBrace;[{];
CSharpCodeBlock - [2..120)::118
CSharpStatementLiteral - [2..54)::52 - [LF switch (1)LF#if trueLF {LF case 1:LF] - Gen<Stmt>
NewLine;[LF];
Whitespace;[ ];
Keyword;[switch];
Whitespace;[ ];
LeftParenthesis;[(];
NumericLiteral;[1];
RightParenthesis;[)];
NewLine;[LF];
CSharpDirective;[#if trueLF];
Whitespace;[ ];
LeftBrace;[{];
NewLine;[LF];
Whitespace;[ ];
Keyword;[case];
Whitespace;[ ];
NumericLiteral;[1];
Colon;[:];
NewLine;[LF];
MarkupBlock - [54..85)::31
MarkupTextLiteral - [54..66)::12 - [ ] - Gen<Markup>
Whitespace;[ ];
MarkupElement - [66..83)::17
MarkupStartTag - [66..71)::5 - [<div>] - Gen<Markup>
OpenAngle;[<];
Text;[div];
CloseAngle;[>];
MarkupTextLiteral - [71..77)::6 - [Case 1] - Gen<Markup>
Text;[Case];
Whitespace;[ ];
Text;[1];
MarkupEndTag - [77..83)::6 - [</div>] - Gen<Markup>
OpenAngle;[<];
ForwardSlash;[/];
Text;[div];
CloseAngle;[>];
MarkupTextLiteral - [83..85)::2 - [LF] - Gen<Markup>
NewLine;[LF];
CSharpStatementLiteral - [85..120)::35 - [ break;LF#endifLF }LF] - Gen<Stmt>
Whitespace;[ ];
Keyword;[break];
Semicolon;[;];
NewLine;[LF];
CSharpDirective;[#endifLF];
Whitespace;[ ];
RightBrace;[}];
NewLine;[LF];
RazorMetaCode - [120..121)::1 - Gen<None>
RightBrace;[}];
MarkupTextLiteral - [121..121)::0 - [] - Gen<Markup>
Marker;[];
EndOfFile;[];