Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(943)

Unified Diff: pkg/analyzer/test/generated/parser_test.dart

Issue 515543002: New analyzer snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/pubspec.yaml ('k') | tests/language/language_analyzer2.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/generated/parser_test.dart
diff --git a/pkg/analyzer/test/generated/parser_test.dart b/pkg/analyzer/test/generated/parser_test.dart
index 8dde38c7d460d6b080a56a253840eca0c7ce0a9e..953dc32c85cb1604bdc552c1655e72805f0d4064 100644
--- a/pkg/analyzer/test/generated/parser_test.dart
+++ b/pkg/analyzer/test/generated/parser_test.dart
@@ -3207,6 +3207,20 @@ class ParserTestCase extends EngineTestCase {
static bool parseFunctionBodies = true;
/**
+ * Create a parser.
+ *
+ * @param listener the listener to be passed to the parser
+ * @return the parser that was created
+ */
+ static Parser createParser(GatheringErrorListener listener) {
+ Parser parser = new Parser(null, listener);
+ parser.parseAsync = true;
+ parser.parseDeferredLibraries = true;
+ parser.parseEnum = true;
+ return parser;
+ }
+
+ /**
* Invoke a parse method in [Parser]. The method is assumed to have the given number and
* type of parameters and will be invoked with the given arguments.
*
@@ -3298,10 +3312,7 @@ class ParserTestCase extends EngineTestCase {
Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener);
listener.setLineInfo(new TestSource(), scanner.lineStarts);
Token token = scanner.tokenize();
- Parser parser = new Parser(null, listener);
- parser.parseAsync = true;
- parser.parseDeferredLibraries = true;
- parser.parseEnum = true;
+ Parser parser = createParser(listener);
CompilationUnit unit = parser.parseCompilationUnit(token);
JUnitTestCase.assertNotNull(unit);
listener.assertErrorsWithCodes(errorCodes);
@@ -3322,7 +3333,7 @@ class ParserTestCase extends EngineTestCase {
Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener);
listener.setLineInfo(new TestSource(), scanner.lineStarts);
Token token = scanner.tokenize();
- Parser parser = new Parser(null, listener);
+ Parser parser = createParser(listener);
Expression expression = parser.parseExpression(token);
JUnitTestCase.assertNotNull(expression);
listener.assertErrorsWithCodes(errorCodes);
@@ -3343,7 +3354,7 @@ class ParserTestCase extends EngineTestCase {
Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener);
listener.setLineInfo(new TestSource(), scanner.lineStarts);
Token token = scanner.tokenize();
- Parser parser = new Parser(null, listener);
+ Parser parser = createParser(listener);
Statement statement = parser.parseStatement(token);
JUnitTestCase.assertNotNull(statement);
listener.assertErrorsWithCodes(errorCodes);
@@ -3366,7 +3377,7 @@ class ParserTestCase extends EngineTestCase {
Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener);
listener.setLineInfo(new TestSource(), scanner.lineStarts);
Token token = scanner.tokenize();
- Parser parser = new Parser(null, listener);
+ Parser parser = createParser(listener);
List<Statement> statements = parser.parseStatements(token);
EngineTestCase.assertSizeOfList(expectedCount, statements);
listener.assertErrorsWithCodes(errorCodes);
@@ -3399,7 +3410,7 @@ class ParserTestCase extends EngineTestCase {
//
// Parse the source.
//
- Parser parser = new Parser(null, listener);
+ Parser parser = createParser(listener);
parser.parseFunctionBodies = parseFunctionBodies;
parser.parseDeferredLibraries = true;
parser.parseAsync = true;
@@ -5794,6 +5805,26 @@ class SimpleParserTest extends ParserTestCase {
JUnitTestCase.assertNotNull(expression.expression);
}
+ void test_parseAwaitExpression_asStatement_inAsync() {
+ MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], EngineTestCase.createSource(["m() async { await x; }"]));
+ FunctionBody body = method.body;
+ EngineTestCase.assertInstanceOf((obj) => obj is BlockFunctionBody, BlockFunctionBody, body);
+ Statement statement = (body as BlockFunctionBody).block.statements[0];
+ EngineTestCase.assertInstanceOf((obj) => obj is ExpressionStatement, ExpressionStatement, statement);
+ Expression expression = (statement as ExpressionStatement).expression;
+ EngineTestCase.assertInstanceOf((obj) => obj is AwaitExpression, AwaitExpression, expression);
+ JUnitTestCase.assertNotNull((expression as AwaitExpression).awaitKeyword);
+ JUnitTestCase.assertNotNull((expression as AwaitExpression).expression);
+ }
+
+ void test_parseAwaitExpression_asStatement_inSync() {
+ MethodDeclaration method = ParserTestCase.parse("parseClassMember", <Object> ["C"], EngineTestCase.createSource(["m() { await x; }"]));
+ FunctionBody body = method.body;
+ EngineTestCase.assertInstanceOf((obj) => obj is BlockFunctionBody, BlockFunctionBody, body);
+ Statement statement = (body as BlockFunctionBody).block.statements[0];
+ EngineTestCase.assertInstanceOf((obj) => obj is VariableDeclarationStatement, VariableDeclarationStatement, statement);
+ }
+
void test_parseBitwiseAndExpression_normal() {
BinaryExpression expression = ParserTestCase.parse4("parseBitwiseAndExpression", "x & y", []);
JUnitTestCase.assertNotNull(expression.leftOperand);
@@ -10477,6 +10508,14 @@ class SimpleParserTest extends ParserTestCase {
final __test = new SimpleParserTest();
runJUnitTest(__test, __test.test_parseAwaitExpression);
});
+ _ut.test('test_parseAwaitExpression_asStatement_inAsync', () {
+ final __test = new SimpleParserTest();
+ runJUnitTest(__test, __test.test_parseAwaitExpression_asStatement_inAsync);
+ });
+ _ut.test('test_parseAwaitExpression_asStatement_inSync', () {
+ final __test = new SimpleParserTest();
+ runJUnitTest(__test, __test.test_parseAwaitExpression_asStatement_inSync);
+ });
_ut.test('test_parseBitwiseAndExpression_normal', () {
final __test = new SimpleParserTest();
runJUnitTest(__test, __test.test_parseBitwiseAndExpression_normal);
« no previous file with comments | « pkg/analyzer/pubspec.yaml ('k') | tests/language/language_analyzer2.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698