OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |