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

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

Issue 2683543006: Make some parser test helper methods non-static. (Closed)
Patch Set: Created 3 years, 10 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/test/generated/all_the_rest_test.dart ('k') | pkg/analyzer/test/generated/parser_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/generated/parser_fasta_test.dart
diff --git a/pkg/analyzer/test/generated/parser_fasta_test.dart b/pkg/analyzer/test/generated/parser_fasta_test.dart
index 618162efe423eb98e5b0487306b074b0bf0c12b4..7931292acc66437306cf6b3e4c7961290f3cf9eb 100644
--- a/pkg/analyzer/test/generated/parser_fasta_test.dart
+++ b/pkg/analyzer/test/generated/parser_fasta_test.dart
@@ -12,6 +12,7 @@ import 'package:front_end/src/fasta/kernel/kernel_builder.dart';
import 'package:front_end/src/fasta/kernel/kernel_library_builder.dart';
import 'package:front_end/src/fasta/parser/parser.dart';
import 'package:front_end/src/fasta/scanner/string_scanner.dart';
+import 'package:front_end/src/fasta/scanner/token.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -24,6 +25,11 @@ main() {
}
/**
+ * Type of the "parse..." methods defined in the Fasta parser.
+ */
+typedef Token ParseFunction(Token token);
+
+/**
* Proxy implementation of [Builder] used by Fasta parser tests.
*
* All undeclared identifiers are presumed to resolve via an instance of this
@@ -143,6 +149,13 @@ class ComplexParserTest_Fasta extends FastaParserTestCase
@override
@failingTest
+ void test_constructor_initializer_withParenthesizedExpression() {
+ // TODO(paulberry): Implement parseCompilationUnitWithOptions
+ super.test_constructor_initializer_withParenthesizedExpression();
+ }
+
+ @override
+ @failingTest
void test_equalityExpression_normal() {
// TODO(paulberry,ahe): bad error recovery
super.test_equalityExpression_normal();
@@ -172,6 +185,13 @@ class ComplexParserTest_Fasta extends FastaParserTestCase
@override
@failingTest
+ void test_multipleLabels_statement() {
+ // TODO(paulberry,ahe): AstBuilder doesn't implement handleLabel().
+ super.test_multipleLabels_statement();
+ }
+
+ @override
+ @failingTest
void test_multiplicativeExpression_super() {
// TODO(paulberry,ahe): AstBuilder doesn't implement
// handleSuperExpression().
@@ -247,6 +267,13 @@ class FastaParserTestCase implements AbstractParserTestCase {
}
@override
+ CompilationUnit parseCompilationUnit(String source,
+ [List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
+ // TODO(paulberry): implement parseCompilationUnit
+ throw new UnimplementedError();
+ }
+
+ @override
CompilationUnit parseCompilationUnitWithOptions(String source,
[List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
// TODO(paulberry): implement parseCompilationUnitWithOptions
@@ -256,6 +283,22 @@ class FastaParserTestCase implements AbstractParserTestCase {
@override
Expression parseExpression(String source,
[List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
+ return _runParser(source, (parser) => parser.parseExpression, errorCodes);
+ }
+
+ @override
+ Statement parseStatement(String source,
+ [List<ErrorCode> errorCodes = const <ErrorCode>[],
+ bool enableLazyAssignmentOperators]) {
+ return _runParser(source, (parser) => parser.parseStatement, errorCodes);
+ }
+
+ Object _runParser(String source, ParseFunction getParseFuction(Parser parser),
+ [List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
+ if (errorCodes.isNotEmpty) {
+ // TODO(paulberry): Check that the parser generates the proper errors.
+ throw new UnimplementedError();
+ }
var scanner = new StringScanner(source);
var token = scanner.tokenize();
var library = new KernelLibraryBuilderProxy();
@@ -264,11 +307,11 @@ class FastaParserTestCase implements AbstractParserTestCase {
var scope = new ScopeProxy();
var astBuilder = new AstBuilder(library, member, elementStore, scope);
var parser = new Parser(astBuilder);
- var endToken = parser.parseExpression(token);
+ var parseFunction = getParseFuction(parser);
+ var endToken = parseFunction(token);
expect(endToken.isEof, isTrue);
expect(astBuilder.stack, hasLength(1));
- var expression = astBuilder.pop() as Expression;
- return expression;
+ return astBuilder.pop();
}
}
« no previous file with comments | « pkg/analyzer/test/generated/all_the_rest_test.dart ('k') | pkg/analyzer/test/generated/parser_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698