Skip to content

Commit

Permalink
Add new tests for switch case (#11063)
Browse files Browse the repository at this point in the history
  • Loading branch information
333fred authored Oct 22, 2024
1 parent 7598fbf commit dfe65f9
Show file tree
Hide file tree
Showing 10 changed files with 370 additions and 0 deletions.
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;[];

0 comments on commit dfe65f9

Please sign in to comment.