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

Side by Side Diff: pkg/front_end/test/scanner_fasta_test.dart

Issue 2895803002: add fasta.scanner support for lazy assignment operators (Closed)
Patch Set: address comments Created 3 years, 7 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'package:analyzer/src/fasta/token_utils.dart'; 5 import 'package:analyzer/src/fasta/token_utils.dart';
6 import 'package:front_end/src/fasta/scanner/error_token.dart' as fasta; 6 import 'package:front_end/src/fasta/scanner/error_token.dart' as fasta;
7 import 'package:front_end/src/fasta/scanner/string_scanner.dart' as fasta; 7 import 'package:front_end/src/fasta/scanner/string_scanner.dart' as fasta;
8 import 'package:front_end/src/fasta/scanner/token.dart' as fasta; 8 import 'package:front_end/src/fasta/scanner/token.dart' as fasta;
9 import 'package:front_end/src/fasta/scanner/token_constants.dart' as fasta; 9 import 'package:front_end/src/fasta/scanner/token_constants.dart' as fasta;
10 import 'package:front_end/src/scanner/errors.dart'; 10 import 'package:front_end/src/scanner/errors.dart';
(...skipping 10 matching lines...) Expand all
21 defineReflectiveTests(ScannerTest_Fasta_Roundtrip); 21 defineReflectiveTests(ScannerTest_Fasta_Roundtrip);
22 }); 22 });
23 } 23 }
24 24
25 @reflectiveTest 25 @reflectiveTest
26 class ScannerTest_Fasta extends ScannerTestBase { 26 class ScannerTest_Fasta extends ScannerTestBase {
27 @override 27 @override
28 Token scanWithListener(String source, ErrorListener listener, 28 Token scanWithListener(String source, ErrorListener listener,
29 {bool genericMethodComments: false, 29 {bool genericMethodComments: false,
30 bool lazyAssignmentOperators: false}) { 30 bool lazyAssignmentOperators: false}) {
31 // Note: Fasta always supports lazy assignment operators (`&&=` and `||=`), 31 var scanner = new fasta.StringScanner(source,
32 // so we can ignore the `lazyAssignmentOperators` flag. 32 includeComments: true,
33 // TODO(paulberry): once lazyAssignmentOperators are fully supported by 33 scanGenericMethodComments: genericMethodComments,
34 // Dart, remove this flag. 34 scanLazyAssignmentOperators: lazyAssignmentOperators);
35 var scanner = new fasta.StringScanner(source, includeComments: true);
36 scanner.scanGenericMethodComments = genericMethodComments;
37 var token = scanner.tokenize(); 35 var token = scanner.tokenize();
38 return new ToAnalyzerTokenStreamConverter_WithListener(listener) 36 return new ToAnalyzerTokenStreamConverter_WithListener(listener)
39 .convertTokens(token); 37 .convertTokens(token);
40 } 38 }
41 39
42 @override
43 @failingTest
44 void test_ampersand_ampersand_eq() {
45 // TODO(paulberry,ahe): Fasta doesn't support `&&=` yet
46 super.test_ampersand_ampersand_eq();
47 }
48
49 @override
50 @failingTest
51 void test_bar_bar_eq() {
52 // TODO(paulberry,ahe): Fasta doesn't support `||=` yet
53 super.test_bar_bar_eq();
54 }
55
56 void test_comments() { 40 void test_comments() {
57 const source = ''' 41 const source = '''
58 /// Doc comment before class 42 /// Doc comment before class
59 /// second line 43 /// second line
60 /// third 44 /// third
61 class Foo { 45 class Foo {
62 // Random comment 46 // Random comment
63 Object someField; // trailing comment 47 Object someField; // trailing comment
64 dynamic secondField; 48 dynamic secondField;
65 /// Method doc 49 /// Method doc
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 final ErrorListener _listener; 540 final ErrorListener _listener;
557 541
558 ToAnalyzerTokenStreamConverter_WithListener(this._listener); 542 ToAnalyzerTokenStreamConverter_WithListener(this._listener);
559 543
560 @override 544 @override
561 void reportError( 545 void reportError(
562 ScannerErrorCode errorCode, int offset, List<Object> arguments) { 546 ScannerErrorCode errorCode, int offset, List<Object> arguments) {
563 _listener.errors.add(new TestError(offset, errorCode, arguments)); 547 _listener.errors.add(new TestError(offset, errorCode, arguments));
564 } 548 }
565 } 549 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698