| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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/file_system/file_system.dart'; | 5 import 'package:analyzer/file_system/file_system.dart'; |
| 6 import 'package:analyzer/source/package_map_resolver.dart'; | 6 import 'package:analyzer/source/package_map_resolver.dart'; |
| 7 import 'package:analyzer/src/generated/sdk.dart'; | |
| 8 import 'package:analyzer/src/generated/source.dart'; | 7 import 'package:analyzer/src/generated/source.dart'; |
| 9 import 'package:analyzer/src/summary/format.dart'; | 8 import 'package:analyzer/src/summary/format.dart'; |
| 10 import 'package:analyzer/src/summary/idl.dart'; | 9 import 'package:analyzer/src/summary/idl.dart'; |
| 11 import 'package:analyzer/src/summary/pub_summary.dart'; | 10 import 'package:analyzer/src/summary/pub_summary.dart'; |
| 12 import 'package:analyzer/src/summary/summarize_elements.dart'; | 11 import 'package:analyzer/src/summary/summarize_elements.dart'; |
| 13 import 'package:analyzer/src/util/fast_uri.dart'; | 12 import 'package:analyzer/src/util/fast_uri.dart'; |
| 14 import 'package:path/path.dart' as pathos; | 13 import 'package:path/path.dart' as pathos; |
| 15 import 'package:unittest/unittest.dart' hide ERROR; | 14 import 'package:unittest/unittest.dart' hide ERROR; |
| 16 | 15 |
| 17 import '../../reflective_tests.dart'; | 16 import '../../reflective_tests.dart'; |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 UnlinkedVariable variable = unlinkedUnit.variables[0]; | 140 UnlinkedVariable variable = unlinkedUnit.variables[0]; |
| 142 expect(variable.name, 'V2'); | 141 expect(variable.name, 'V2'); |
| 143 int typeRef = variable.type.reference; | 142 int typeRef = variable.type.reference; |
| 144 expect(unlinkedUnit.references[typeRef].name, 'Future'); | 143 expect(unlinkedUnit.references[typeRef].name, 'Future'); |
| 145 LinkedReference linkedReference = linkedUnit.references[typeRef]; | 144 LinkedReference linkedReference = linkedUnit.references[typeRef]; |
| 146 expect(linkedLibrary.dependencies[linkedReference.dependency].uri, | 145 expect(linkedLibrary.dependencies[linkedReference.dependency].uri, |
| 147 'dart:async'); | 146 'dart:async'); |
| 148 } | 147 } |
| 149 } | 148 } |
| 150 | 149 |
| 150 test_computeUnlinkedForFolder() async { |
| 151 // Create package files. |
| 152 resourceProvider.newFile( |
| 153 '/flutter/aaa/lib/a.dart', |
| 154 ''' |
| 155 class A {} |
| 156 '''); |
| 157 resourceProvider.newFile( |
| 158 '/flutter/bbb/lib/b.dart', |
| 159 ''' |
| 160 class B {} |
| 161 '''); |
| 162 |
| 163 // Configure packages resolution. |
| 164 Folder libFolderA = resourceProvider.newFolder('/flutter/aaa/lib'); |
| 165 Folder libFolderB = resourceProvider.newFolder('/flutter/bbb/lib'); |
| 166 context.sourceFactory = new SourceFactory(<UriResolver>[ |
| 167 sdkResolver, |
| 168 resourceResolver, |
| 169 new PackageMapUriResolver(resourceProvider, { |
| 170 'aaa': [libFolderA], |
| 171 'bbb': [libFolderB], |
| 172 }) |
| 173 ]); |
| 174 |
| 175 await manager.computeUnlinkedForFolder('aaa', libFolderA); |
| 176 await manager.computeUnlinkedForFolder('bbb', libFolderB); |
| 177 |
| 178 // The files must be created. |
| 179 _assertFileExists(libFolderA.parent, PubSummaryManager.UNLINKED_NAME); |
| 180 _assertFileExists(libFolderA.parent, PubSummaryManager.UNLINKED_SPEC_NAME); |
| 181 _assertFileExists(libFolderB.parent, PubSummaryManager.UNLINKED_NAME); |
| 182 _assertFileExists(libFolderB.parent, PubSummaryManager.UNLINKED_SPEC_NAME); |
| 183 } |
| 184 |
| 151 test_getLinkedBundles_cached() async { | 185 test_getLinkedBundles_cached() async { |
| 152 String pathA1 = '$CACHE/aaa-1.0.0'; | 186 String pathA1 = '$CACHE/aaa-1.0.0'; |
| 153 String pathA2 = '$CACHE/aaa-2.0.0'; | 187 String pathA2 = '$CACHE/aaa-2.0.0'; |
| 154 resourceProvider.newFile( | 188 resourceProvider.newFile( |
| 155 '$pathA1/lib/a.dart', | 189 '$pathA1/lib/a.dart', |
| 156 ''' | 190 ''' |
| 157 class A {} | 191 class A {} |
| 158 int a; | 192 int a; |
| 159 '''); | 193 '''); |
| 160 resourceProvider.newFile( | 194 resourceProvider.newFile( |
| (...skipping 1063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1224 } | 1258 } |
| 1225 } | 1259 } |
| 1226 } | 1260 } |
| 1227 fail('Cannot find variable $variableName in $linkedPackage'); | 1261 fail('Cannot find variable $variableName in $linkedPackage'); |
| 1228 } | 1262 } |
| 1229 | 1263 |
| 1230 void _createManager() { | 1264 void _createManager() { |
| 1231 manager = new PubSummaryManager(resourceProvider, '_.temp'); | 1265 manager = new PubSummaryManager(resourceProvider, '_.temp'); |
| 1232 } | 1266 } |
| 1233 | 1267 |
| 1234 List<File> _getLinkedFiles(Folder folder) { | |
| 1235 List<File> linkedFiles = <File>[]; | |
| 1236 for (var child in folder.getChildren()) { | |
| 1237 if (child is File && child.shortName.startsWith('linked_')) { | |
| 1238 linkedFiles.add(child); | |
| 1239 } | |
| 1240 } | |
| 1241 return linkedFiles; | |
| 1242 } | |
| 1243 | |
| 1244 LinkedPubPackage _getLinkedPackage( | 1268 LinkedPubPackage _getLinkedPackage( |
| 1245 List<LinkedPubPackage> packages, String name) { | 1269 List<LinkedPubPackage> packages, String name) { |
| 1246 return packages | 1270 return packages |
| 1247 .singleWhere((linkedPackage) => linkedPackage.package.name == name); | 1271 .singleWhere((linkedPackage) => linkedPackage.package.name == name); |
| 1248 } | 1272 } |
| 1249 | 1273 |
| 1250 static PackageBundle _getBundleByPackageName( | 1274 static PackageBundle _getBundleByPackageName( |
| 1251 Map<PubPackage, PackageBundle> bundles, String name) { | 1275 Map<PubPackage, PackageBundle> bundles, String name) { |
| 1252 PubPackage package = | 1276 PubPackage package = |
| 1253 bundles.keys.singleWhere((package) => package.name == name); | 1277 bundles.keys.singleWhere((package) => package.name == name); |
| 1254 return bundles[package]; | 1278 return bundles[package]; |
| 1255 } | 1279 } |
| 1256 } | 1280 } |
| OLD | NEW |