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

Side by Side Diff: pkg/front_end/test/fasta/parser/parser_suite.dart

Issue 2737753002: Make parser and scanner suites able to run standalone. (Closed)
Patch Set: Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 import 'package:testing/testing.dart'; 5 import 'package:testing/testing.dart';
6 6
7 import 'package:front_end/src/fasta/scanner.dart'; 7 import 'package:front_end/src/fasta/scanner.dart';
8 8
9 import 'package:front_end/src/fasta/testing/scanner_chain.dart'; 9 import 'package:front_end/src/fasta/testing/scanner_chain.dart';
10 10
11 import 'package:front_end/src/fasta/parser.dart'; 11 import 'package:front_end/src/fasta/parser.dart';
12 12
13 Future<ChainContext> createContext( 13 Future<ChainContext> createContext(
14 Chain suite, Map<String, String> enviroment) async { 14 Chain suite, Map<String, String> enviroment) async {
15 return new ScannerContext(); 15 return new ScannerContext();
16 } 16 }
17 17
18 class ScannerContext extends ChainContext { 18 class ScannerContext extends ChainContext {
19 final List<Step> steps = const <Step>[ 19 final List<Step> steps = const <Step>[
20 const Read(), 20 const Read(),
21 const Scan(), 21 const Scan(),
22 const Parse(), 22 const Parse(),
23 ]; 23 ];
24 } 24 }
25 25
26 class Parse extends Step<ScannerResult, Null, ChainContext> { 26 class Parse extends Step<ScannerResult, Null, ChainContext> {
27 const Parse(); 27 const Parse();
28 28
29 String get name => "parse"; 29 String get name => "parse";
30 30
31 Future<Result<Null>> run( 31 Future<Result<Null>> run(ScannerResult result, ChainContext context) async {
32 ScannerResult result, ChainContext context) async {
33 try { 32 try {
34 List<ParserError> errors = parse(result.tokens); 33 List<ParserError> errors = parse(result.tokens);
35 if (errors.isNotEmpty) { 34 if (errors.isNotEmpty) {
36 return fail(null, errors.join("\n")); 35 return fail(null, errors.join("\n"));
37 } 36 }
38 } on ParserError catch (e, s) { 37 } on ParserError catch (e, s) {
39 return fail(null, e, s); 38 return fail(null, e, s);
40 } 39 }
41 return pass(null); 40 return pass(null);
42 } 41 }
43 } 42 }
44 43
45 main(List<String> arguments) => runMe(arguments, createContext); 44 main(List<String> arguments) =>
45 runMe(arguments, createContext, "../testing.json");
OLDNEW
« no previous file with comments | « pkg/front_end/test/fasta/parser/parser.status ('k') | pkg/front_end/test/fasta/scanner/scanner_suite.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698