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 class CSharpNestedStatementsTest : CsHtmlCodeParserTestBase
|
||||||
{
|
{
|
||||||
|
public CSharpNestedStatementsTest()
|
||||||
|
{
|
||||||
|
UseBaselineTests = true;
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void NestedSimpleStatement()
|
public void NestedSimpleStatement()
|
||||||
{
|
{
|
||||||
ParseBlockTest("@while(true) { foo(); }",
|
ParseBlockTest("@while(true) { foo(); }");
|
||||||
new StatementBlock(
|
|
||||||
Factory.CodeTransition(),
|
|
||||||
Factory.Code("while(true) { foo(); }")
|
|
||||||
.AsStatement()
|
|
||||||
.Accepts(AcceptedCharactersInternal.None)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void NestedKeywordStatement()
|
public void NestedKeywordStatement()
|
||||||
{
|
{
|
||||||
ParseBlockTest("@while(true) { for(int i = 0; i < 10; i++) { foo(); } }",
|
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)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void NestedCodeBlock()
|
public void NestedCodeBlock()
|
||||||
{
|
{
|
||||||
ParseBlockTest("@while(true) { { { { foo(); } } } }",
|
ParseBlockTest("@while(true) { { { { foo(); } } } }");
|
||||||
new StatementBlock(
|
|
||||||
Factory.CodeTransition(),
|
|
||||||
Factory.Code("while(true) { { { { foo(); } } } }")
|
|
||||||
.AsStatement()
|
|
||||||
.Accepts(AcceptedCharactersInternal.None)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void NestedImplicitExpression()
|
public void NestedImplicitExpression()
|
||||||
{
|
{
|
||||||
ParseBlockTest("@while(true) { @foo }",
|
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)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void NestedExplicitExpression()
|
public void NestedExplicitExpression()
|
||||||
{
|
{
|
||||||
ParseBlockTest("@while(true) { @(foo) }",
|
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)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void NestedMarkupBlock()
|
public void NestedMarkupBlock()
|
||||||
{
|
{
|
||||||
ParseBlockTest("@while(true) { <p>Hello</p> }",
|
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)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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