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

Side by Side Diff: pkg/analyzer/test/src/task/dart_test.dart

Issue 2940783002: update analyzer tests for fasta scanner (Closed)
Patch Set: Created 3 years, 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 library analyzer.test.src.task.dart_test; 5 library analyzer.test.src.task.dart_test;
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; 8 import 'package:analyzer/dart/ast/standard_resolution_map.dart';
9 import 'package:analyzer/dart/ast/token.dart'; 9 import 'package:analyzer/dart/ast/token.dart';
10 import 'package:analyzer/dart/ast/visitor.dart'; 10 import 'package:analyzer/dart/ast/visitor.dart';
11 import 'package:analyzer/dart/element/element.dart'; 11 import 'package:analyzer/dart/element/element.dart';
12 import 'package:analyzer/dart/element/type.dart'; 12 import 'package:analyzer/dart/element/type.dart';
13 import 'package:analyzer/error/error.dart'; 13 import 'package:analyzer/error/error.dart';
14 import 'package:analyzer/src/context/cache.dart'; 14 import 'package:analyzer/src/context/cache.dart';
15 import 'package:analyzer/src/dart/element/element.dart'; 15 import 'package:analyzer/src/dart/element/element.dart';
16 import 'package:analyzer/src/error/codes.dart'; 16 import 'package:analyzer/src/error/codes.dart';
17 import 'package:analyzer/src/generated/constant.dart'; 17 import 'package:analyzer/src/generated/constant.dart';
18 import 'package:analyzer/src/generated/engine.dart' 18 import 'package:analyzer/src/generated/engine.dart'
19 show AnalysisOptionsImpl, CacheState; 19 show AnalysisOptionsImpl, CacheState;
20 import 'package:analyzer/src/generated/resolver.dart'; 20 import 'package:analyzer/src/generated/resolver.dart';
21 import 'package:analyzer/src/generated/sdk.dart'; 21 import 'package:analyzer/src/generated/sdk.dart';
22 import 'package:analyzer/src/generated/source.dart'; 22 import 'package:analyzer/src/generated/source.dart';
23 import 'package:analyzer/src/services/lint.dart'; 23 import 'package:analyzer/src/services/lint.dart';
24 import 'package:analyzer/src/task/dart.dart'; 24 import 'package:analyzer/src/task/dart.dart';
25 import 'package:analyzer/src/task/html.dart'; 25 import 'package:analyzer/src/task/html.dart';
26 import 'package:analyzer/src/task/strong/ast_properties.dart' as strong_ast; 26 import 'package:analyzer/src/task/strong/ast_properties.dart' as strong_ast;
27 import 'package:analyzer/task/dart.dart'; 27 import 'package:analyzer/task/dart.dart';
28 import 'package:analyzer/task/general.dart'; 28 import 'package:analyzer/task/general.dart';
29 import 'package:analyzer/task/model.dart'; 29 import 'package:analyzer/task/model.dart';
30 import 'package:front_end/src/scanner/scanner.dart' as fe;
30 import 'package:test/test.dart'; 31 import 'package:test/test.dart';
31 import 'package:test_reflective_loader/test_reflective_loader.dart'; 32 import 'package:test_reflective_loader/test_reflective_loader.dart';
32 33
33 import '../../generated/resolver_test_case.dart'; 34 import '../../generated/resolver_test_case.dart';
34 import '../../generated/test_support.dart'; 35 import '../../generated/test_support.dart';
35 import '../../utils.dart'; 36 import '../../utils.dart';
36 import '../context/abstract_context.dart'; 37 import '../context/abstract_context.dart';
37 38
38 main() { 39 main() {
39 defineReflectiveSuite(() { 40 defineReflectiveSuite(() {
(...skipping 3214 matching lines...) Expand 10 before | Expand all | Expand 10 after
3254 import 'lib2.dart'; 3255 import 'lib2.dart';
3255 export 'lib3.dart'; 3256 export 'lib3.dart';
3256 part 'part.dart'; 3257 part 'part.dart';
3257 class A {'''); 3258 class A {''');
3258 expect(outputs, hasLength(10)); 3259 expect(outputs, hasLength(10));
3259 expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1)); 3260 expect(outputs[EXPLICITLY_IMPORTED_LIBRARIES], hasLength(1));
3260 expect(outputs[EXPORTED_LIBRARIES], hasLength(1)); 3261 expect(outputs[EXPORTED_LIBRARIES], hasLength(1));
3261 _assertHasCore(outputs[IMPORTED_LIBRARIES], 2); 3262 _assertHasCore(outputs[IMPORTED_LIBRARIES], 2);
3262 expect(outputs[INCLUDED_PARTS], hasLength(1)); 3263 expect(outputs[INCLUDED_PARTS], hasLength(1));
3263 expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(2)); 3264 expect(outputs[LIBRARY_SPECIFIC_UNITS], hasLength(2));
3264 expect(outputs[PARSE_ERRORS], hasLength(1)); 3265 if (fe.Scanner.useFasta) {
3266 // Missing closing brace error is reported by the Fasta scanner.
3267 expect(outputs[PARSE_ERRORS], hasLength(0));
Brian Wilkerson 2017/06/14 04:17:24 Can we check for scanner errors here?
danrubel 2017/06/14 06:28:58 Done. Just added a corresponding scan test to veri
3268 } else {
3269 expect(outputs[PARSE_ERRORS], hasLength(1));
3270 }
3265 expect(outputs[PARSED_UNIT], isNotNull); 3271 expect(outputs[PARSED_UNIT], isNotNull);
3266 expect(outputs[REFERENCED_SOURCES], hasLength(5)); 3272 expect(outputs[REFERENCED_SOURCES], hasLength(5));
3267 expect(outputs[SOURCE_KIND], SourceKind.LIBRARY); 3273 expect(outputs[SOURCE_KIND], SourceKind.LIBRARY);
3268 expect(outputs[UNITS], hasLength(2)); 3274 expect(outputs[UNITS], hasLength(2));
3269 } 3275 }
3270 3276
3271 test_perform_library_configurations_bool1() { 3277 test_perform_library_configurations_bool1() {
3272 context.declaredVariables.define('dart.library.io', 'true'); 3278 context.declaredVariables.define('dart.library.io', 'true');
3273 newSource('/foo.dart', ''); 3279 newSource('/foo.dart', '');
3274 newSource('/foo_io.dart', ''); 3280 newSource('/foo_io.dart', '');
(...skipping 1136 matching lines...) Expand 10 before | Expand all | Expand 10 after
4411 </head> 4417 </head>
4412 <body>Test</body> 4418 <body>Test</body>
4413 </html> 4419 </html>
4414 '''; 4420 ''';
4415 Source source = newSource('/test.html', htmlContent); 4421 Source source = newSource('/test.html', htmlContent);
4416 DartScript script = 4422 DartScript script =
4417 new DartScript(source, [new ScriptFragment(97, 5, 36, scriptContent)]); 4423 new DartScript(source, [new ScriptFragment(97, 5, 36, scriptContent)]);
4418 4424
4419 computeResult(script, TOKEN_STREAM, matcher: isScanDartTask); 4425 computeResult(script, TOKEN_STREAM, matcher: isScanDartTask);
4420 expect(outputs[LINE_INFO], isNotNull); 4426 expect(outputs[LINE_INFO], isNotNull);
4421 expect(outputs[SCAN_ERRORS], isEmpty); 4427 if (fe.Scanner.useFasta) {
4428 // Missing closing brace error is reported by Fasta scanner.
4429 expect(outputs[SCAN_ERRORS], hasLength(1));
4430 } else {
4431 expect(outputs[SCAN_ERRORS], isEmpty);
4432 }
4422 Token tokenStream = outputs[TOKEN_STREAM]; 4433 Token tokenStream = outputs[TOKEN_STREAM];
4423 expect(tokenStream, isNotNull); 4434 expect(tokenStream, isNotNull);
4424 expect(tokenStream.lexeme, 'void'); 4435 expect(tokenStream.lexeme, 'void');
4425 } 4436 }
4426 4437
4427 void _performScanTask(String content) { 4438 void _performScanTask(String content) {
4428 AnalysisTarget target = newSource('/test.dart', content); 4439 AnalysisTarget target = newSource('/test.dart', content);
4429 computeResult(target, TOKEN_STREAM, matcher: isScanDartTask); 4440 computeResult(target, TOKEN_STREAM, matcher: isScanDartTask);
4430 } 4441 }
4431 } 4442 }
(...skipping 847 matching lines...) Expand 10 before | Expand all | Expand 10 after
5279 /** 5290 /**
5280 * Fill [errorListener] with [result] errors in the current [task]. 5291 * Fill [errorListener] with [result] errors in the current [task].
5281 */ 5292 */
5282 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { 5293 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) {
5283 List<AnalysisError> errors = task.outputs[result] as List<AnalysisError>; 5294 List<AnalysisError> errors = task.outputs[result] as List<AnalysisError>;
5284 expect(errors, isNotNull, reason: result.name); 5295 expect(errors, isNotNull, reason: result.name);
5285 errorListener = new GatheringErrorListener(); 5296 errorListener = new GatheringErrorListener();
5286 errorListener.addAll(errors); 5297 errorListener.addAll(errors);
5287 } 5298 }
5288 } 5299 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698