OLD | NEW |
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 'dart:async'; | 5 import 'dart:async'; |
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/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
10 import 'package:analyzer/file_system/physical_file_system.dart'; | 10 import 'package:analyzer/file_system/physical_file_system.dart'; |
11 import 'package:analyzer/src/dart/sdk/sdk.dart'; | 11 import 'package:analyzer/src/dart/sdk/sdk.dart'; |
12 import 'package:front_end/compiler_options.dart'; | 12 import 'package:front_end/compiler_options.dart'; |
13 import 'package:front_end/incremental_resolved_ast_generator.dart'; | 13 import 'package:front_end/incremental_resolved_ast_generator.dart'; |
14 import 'package:front_end/memory_file_system.dart'; | 14 import 'package:front_end/memory_file_system.dart'; |
15 import 'package:path/path.dart' as pathos; | |
16 import 'package:test/test.dart'; | 15 import 'package:test/test.dart'; |
17 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 16 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
18 | 17 |
19 main() { | 18 main() { |
20 defineReflectiveSuite(() { | 19 defineReflectiveSuite(() { |
21 defineReflectiveTests(IncrementalResolvedAstGeneratorTest); | 20 defineReflectiveTests(IncrementalResolvedAstGeneratorTest); |
22 }); | 21 }); |
23 } | 22 } |
24 | 23 |
25 final _sdkSummary = _readSdkSummary(); | 24 final _sdkSummary = _readSdkSummary(); |
26 | 25 |
27 List<int> _readSdkSummary() { | 26 List<int> _readSdkSummary() { |
28 var resourceProvider = PhysicalResourceProvider.INSTANCE; | 27 var resourceProvider = PhysicalResourceProvider.INSTANCE; |
29 var sdk = new FolderBasedDartSdk(resourceProvider, | 28 var sdk = new FolderBasedDartSdk(resourceProvider, |
30 FolderBasedDartSdk.defaultSdkDirectory(resourceProvider)) | 29 FolderBasedDartSdk.defaultSdkDirectory(resourceProvider)) |
31 ..useSummary = true; | 30 ..useSummary = true; |
32 var path = resourceProvider.pathContext | 31 var path = resourceProvider.pathContext |
33 .join(sdk.directory.path, 'lib', '_internal', 'strong.sum'); | 32 .join(sdk.directory.path, 'lib', '_internal', 'strong.sum'); |
34 return resourceProvider.getFile(path).readAsBytesSync(); | 33 return resourceProvider.getFile(path).readAsBytesSync(); |
35 } | 34 } |
36 | 35 |
37 @reflectiveTest | 36 @reflectiveTest |
38 class IncrementalResolvedAstGeneratorTest { | 37 class IncrementalResolvedAstGeneratorTest { |
39 static final sdkSummaryUri = Uri.parse('special:sdk_summary'); | 38 static final sdkSummaryUri = Uri.parse('special:sdk_summary'); |
40 | 39 |
41 /// Virtual filesystem for testing. | 40 /// Virtual filesystem for testing. |
42 final fileSystem = new MemoryFileSystem(pathos.posix, Uri.parse('file:///')); | 41 final fileSystem = new MemoryFileSystem(Uri.parse('file:///')); |
43 | 42 |
44 /// The object under test. | 43 /// The object under test. |
45 IncrementalResolvedAstGenerator incrementalResolvedAstGenerator; | 44 IncrementalResolvedAstGenerator incrementalResolvedAstGenerator; |
46 | 45 |
47 Future<Map<Uri, Map<Uri, CompilationUnit>>> getInitialProgram( | 46 Future<Map<Uri, Map<Uri, CompilationUnit>>> getInitialProgram( |
48 Uri startingUri) async { | 47 Uri startingUri) async { |
49 fileSystem.entityForUri(sdkSummaryUri).writeAsBytesSync(_sdkSummary); | 48 fileSystem.entityForUri(sdkSummaryUri).writeAsBytesSync(_sdkSummary); |
50 incrementalResolvedAstGenerator = new IncrementalResolvedAstGenerator( | 49 incrementalResolvedAstGenerator = new IncrementalResolvedAstGenerator( |
51 startingUri, | 50 startingUri, |
52 new CompilerOptions() | 51 new CompilerOptions() |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 } | 163 } |
165 throw fail('No function declaration found with name "$name"'); | 164 throw fail('No function declaration found with name "$name"'); |
166 } | 165 } |
167 | 166 |
168 NodeList<Statement> _getFunctionStatements(FunctionDeclaration function) { | 167 NodeList<Statement> _getFunctionStatements(FunctionDeclaration function) { |
169 var body = function.functionExpression.body; | 168 var body = function.functionExpression.body; |
170 expect(body, new isInstanceOf<BlockFunctionBody>()); | 169 expect(body, new isInstanceOf<BlockFunctionBody>()); |
171 return (body as BlockFunctionBody).block.statements; | 170 return (body as BlockFunctionBody).block.statements; |
172 } | 171 } |
173 } | 172 } |
OLD | NEW |