OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 test.context.directory.manager; | 5 library test.context.directory.manager; |
6 | 6 |
7 import 'package:analysis_server/src/context_manager.dart'; | 7 import 'package:analysis_server/src/context_manager.dart'; |
8 import 'package:analyzer/file_system/file_system.dart'; | 8 import 'package:analyzer/file_system/file_system.dart'; |
9 import 'package:analyzer/file_system/memory_file_system.dart'; | 9 import 'package:analyzer/file_system/memory_file_system.dart'; |
10 import 'package:analyzer/source/package_map_provider.dart'; | 10 import 'package:analyzer/source/package_map_provider.dart'; |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 resourceProvider.newFile('$subProjectA/pubspec.yaml', 'pubspec'); | 186 resourceProvider.newFile('$subProjectA/pubspec.yaml', 'pubspec'); |
187 resourceProvider.newFile('$subProjectB/pubspec.yaml', 'pubspec'); | 187 resourceProvider.newFile('$subProjectB/pubspec.yaml', 'pubspec'); |
188 resourceProvider.newFile(rootFile, 'library root;'); | 188 resourceProvider.newFile(rootFile, 'library root;'); |
189 resourceProvider.newFile(subProjectA_file, 'library a;'); | 189 resourceProvider.newFile(subProjectA_file, 'library a;'); |
190 resourceProvider.newFile(subProjectB_file, 'library b;'); | 190 resourceProvider.newFile(subProjectB_file, 'library b;'); |
191 // configure package maps | 191 // configure package maps |
192 packageMapProvider.packageMaps = { | 192 packageMapProvider.packageMaps = { |
193 subProjectA: { | 193 subProjectA: { |
194 'foo': [resourceProvider.newFolder('/package/foo')] | 194 'foo': [resourceProvider.newFolder('/package/foo')] |
195 }, | 195 }, |
196 subProjectA: { | 196 subProjectB: { |
197 'bar': [resourceProvider.newFolder('/package/bar')] | 197 'bar': [resourceProvider.newFolder('/package/bar')] |
198 }, | 198 }, |
199 }; | 199 }; |
200 // set roots | 200 // set roots |
201 manager.setRoots(<String>[root], <String>[], <String, String>{}); | 201 manager.setRoots(<String>[root], <String>[], <String, String>{}); |
202 manager.assertContextPaths([root, subProjectA, subProjectB]); | 202 manager.assertContextPaths([root, subProjectA, subProjectB]); |
203 // verify files | 203 // verify files |
204 manager.assertContextFiles(root, [rootFile]); | 204 manager.assertContextFiles(root, [rootFile]); |
205 manager.assertContextFiles(subProjectA, [subProjectA_file]); | 205 manager.assertContextFiles(subProjectA, [subProjectA_file]); |
206 manager.assertContextFiles(subProjectB, [subProjectB_file]); | 206 manager.assertContextFiles(subProjectB, [subProjectB_file]); |
207 // verify package maps | 207 // verify package maps |
208 _checkPackageMap(root, equals(packageMapProvider.packageMaps[root])); | 208 _checkPackageMap(root, isNull); |
209 _checkPackageMap( | 209 _checkPackageMap( |
210 subProjectA, | 210 subProjectA, |
211 equals(packageMapProvider.packageMaps[subProjectA])); | 211 equals(packageMapProvider.packageMaps[subProjectA])); |
212 _checkPackageMap( | 212 _checkPackageMap( |
213 subProjectB, | 213 subProjectB, |
214 equals(packageMapProvider.packageMaps[subProjectB])); | 214 equals(packageMapProvider.packageMaps[subProjectB])); |
215 } | 215 } |
216 | 216 |
217 void test_setRoots_addPackageRoot() { | 217 void test_setRoots_addPackageRoot() { |
218 String packagePathFoo = '/package1/foo'; | 218 String packagePathFoo = '/package1/foo'; |
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
749 _checkPackageMap(projPath, isNull); | 749 _checkPackageMap(projPath, isNull); |
750 }); | 750 }); |
751 } | 751 } |
752 | 752 |
753 /** | 753 /** |
754 * Verify that package URI's for source files in [path] will be resolved | 754 * Verify that package URI's for source files in [path] will be resolved |
755 * using a package map matching [expectation]. | 755 * using a package map matching [expectation]. |
756 */ | 756 */ |
757 void _checkPackageMap(String path, expectation) { | 757 void _checkPackageMap(String path, expectation) { |
758 UriResolver resolver = manager.currentContextPackageUriResolvers[path]; | 758 UriResolver resolver = manager.currentContextPackageUriResolvers[path]; |
759 expect(resolver, new isInstanceOf<PackageMapUriResolver>()); | 759 Map<String, List<Folder>> packageMap = |
760 PackageMapUriResolver packageMapUriResolver = resolver; | 760 resolver is PackageMapUriResolver ? resolver.packageMap : null; |
761 expect(packageMapUriResolver.packageMap, expectation); | 761 expect(packageMap, expectation); |
762 } | 762 } |
763 | 763 |
764 /** | 764 /** |
765 * Verify that package URI's for source files in [path] will be resolved | 765 * Verify that package URI's for source files in [path] will be resolved |
766 * using a package root maching [expectation]. | 766 * using a package root maching [expectation]. |
767 */ | 767 */ |
768 void _checkPackageRoot(String path, expectation) { | 768 void _checkPackageRoot(String path, expectation) { |
769 UriResolver resolver = manager.currentContextPackageUriResolvers[path]; | 769 UriResolver resolver = manager.currentContextPackageUriResolvers[path]; |
770 expect(resolver, new isInstanceOf<PackageUriResolver>()); | 770 expect(resolver, new isInstanceOf<PackageUriResolver>()); |
771 PackageUriResolver packageUriResolver = resolver; | 771 PackageUriResolver packageUriResolver = resolver; |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
849 currentContextFilePaths.remove(path); | 849 currentContextFilePaths.remove(path); |
850 currentContextPackageUriResolvers.remove(path); | 850 currentContextPackageUriResolvers.remove(path); |
851 } | 851 } |
852 | 852 |
853 @override | 853 @override |
854 void updateContextPackageUriResolver(Folder contextFolder, | 854 void updateContextPackageUriResolver(Folder contextFolder, |
855 UriResolver packageUriResolver) { | 855 UriResolver packageUriResolver) { |
856 currentContextPackageUriResolvers[contextFolder.path] = packageUriResolver; | 856 currentContextPackageUriResolvers[contextFolder.path] = packageUriResolver; |
857 } | 857 } |
858 } | 858 } |
OLD | NEW |