Convert CSharpNestedStatementsTest
This commit is contained in:
parent
df22392996
commit
a7fd53b3a3
|
|
@ -7,98 +7,45 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
public class CSharpNestedStatementsTest : CsHtmlCodeParserTestBase
|
||||
{
|
||||
public CSharpNestedStatementsTest()
|
||||
{
|
||||
UseBaselineTests = true;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NestedSimpleStatement()
|
||||
{
|
||||
ParseBlockTest("@while(true) { foo(); }",
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("while(true) { foo(); }")
|
||||
.AsStatement()
|
||||
.Accepts(AcceptedCharactersInternal.None)));
|
||||
ParseBlockTest("@while(true) { foo(); }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NestedKeywordStatement()
|
||||
{
|
||||
ParseBlockTest("@while(true) { for(int i = 0; i < 10; i++) { foo(); } }",
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("while(true) { for(int i = 0; i < 10; i++) { foo(); } }")
|
||||
.AsStatement()
|
||||
.Accepts(AcceptedCharactersInternal.None)));
|
||||
ParseBlockTest("@while(true) { for(int i = 0; i < 10; i++) { foo(); } }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NestedCodeBlock()
|
||||
{
|
||||
ParseBlockTest("@while(true) { { { { foo(); } } } }",
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("while(true) { { { { foo(); } } } }")
|
||||
.AsStatement()
|
||||
.Accepts(AcceptedCharactersInternal.None)));
|
||||
ParseBlockTest("@while(true) { { { { foo(); } } } }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NestedImplicitExpression()
|
||||
{
|
||||
ParseBlockTest("@while(true) { @foo }",
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("while(true) { ")
|
||||
.AsStatement(),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("foo")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: true)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
Factory.Code(" }")
|
||||
.AsStatement()
|
||||
.Accepts(AcceptedCharactersInternal.None)));
|
||||
ParseBlockTest("@while(true) { @foo }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NestedExplicitExpression()
|
||||
{
|
||||
ParseBlockTest("@while(true) { @(foo) }",
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("while(true) { ")
|
||||
.AsStatement(),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("(")
|
||||
.Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code("foo")
|
||||
.AsExpression(),
|
||||
Factory.MetaCode(")")
|
||||
.Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code(" }")
|
||||
.AsStatement()
|
||||
.Accepts(AcceptedCharactersInternal.None)));
|
||||
ParseBlockTest("@while(true) { @(foo) }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NestedMarkupBlock()
|
||||
{
|
||||
ParseBlockTest("@while(true) { <p>Hello</p> }",
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("while(true) {")
|
||||
.AsStatement(),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<p>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("Hello"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</p>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)
|
||||
),
|
||||
Factory.Code("}")
|
||||
.AsStatement()
|
||||
.Accepts(AcceptedCharactersInternal.None)));
|
||||
ParseBlockTest("@while(true) { <p>Hello</p> }");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
Statement block - Gen<None> - 35 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [while(true) { { { { foo(); } } } }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:25
|
||||
CSharpSymbolType.Keyword;[while];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[true];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
Statement block - Gen<None> - 23 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [while(true) { ] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:7
|
||||
CSharpSymbolType.Keyword;[while];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[true];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 6 - (15:0,15)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [(] - SpanEditHandler;Accepts:None - (16:0,16) - Symbols:1
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
Code span - Gen<Expr> - [foo] - SpanEditHandler;Accepts:Any - (17:0,17) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
MetaCode span - Gen<None> - [)] - SpanEditHandler;Accepts:None - (20:0,20) - Symbols:1
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
Code span - Gen<Stmt> - [ }] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:2
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
Statement block - Gen<None> - 21 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [while(true) { ] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:7
|
||||
CSharpSymbolType.Keyword;[while];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[true];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 4 - (15:0,15)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[ATD];K14 - (16:0,16) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Code span - Gen<Stmt> - [ }] - SpanEditHandler;Accepts:None - (19:0,19) - Symbols:2
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
Statement block - Gen<None> - 55 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [while(true) { for(int i = 0; i < 10; i++) { foo(); } }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:39
|
||||
CSharpSymbolType.Keyword;[while];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[true];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[for];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[int];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[i];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.IntegerLiteral;[0];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[i];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LessThan;[<];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.IntegerLiteral;[10];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[i];
|
||||
CSharpSymbolType.Increment;[++];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
Statement block - Gen<None> - 29 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [while(true) {] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:6
|
||||
CSharpSymbolType.Keyword;[while];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[true];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 14 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 3 - (15:0,15)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Hello] - SpanEditHandler;Accepts:Any - (18:0,18) - Symbols:1
|
||||
HtmlSymbolType.Text;[Hello];
|
||||
Tag block - Gen<None> - 4 - (23:0,23)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:None - (27:0,27) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<Stmt> - [}] - SpanEditHandler;Accepts:None - (28:0,28) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
Statement block - Gen<None> - 23 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [while(true) { foo(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:13
|
||||
CSharpSymbolType.Keyword;[while];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Keyword;[true];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Loading…
Reference in New Issue