| 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/dart/element/element.dart'; | 5 import 'package:analyzer/dart/element/element.dart'; |
| 6 import 'package:analyzer/file_system/file_system.dart'; | 6 import 'package:analyzer/file_system/file_system.dart'; |
| 7 import 'package:analyzer/source/package_map_resolver.dart'; | 7 import 'package:analyzer/source/package_map_resolver.dart'; |
| 8 import 'package:analyzer/src/generated/sdk.dart'; | 8 import 'package:analyzer/src/generated/sdk.dart'; |
| 9 import 'package:analyzer/src/generated/source.dart'; | 9 import 'package:analyzer/src/generated/source.dart'; |
| 10 import 'package:analyzer/src/summary/idl.dart'; | 10 import 'package:analyzer/src/summary/idl.dart'; |
| (...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 512 expect(linkedPackages, hasLength(1)); | 512 expect(linkedPackages, hasLength(1)); |
| 513 | 513 |
| 514 // package:aaa | 514 // package:aaa |
| 515 { | 515 { |
| 516 LinkedPubPackage linkedPackage = linkedPackages | 516 LinkedPubPackage linkedPackage = linkedPackages |
| 517 .singleWhere((linkedPackage) => linkedPackage.package.name == 'aaa'); | 517 .singleWhere((linkedPackage) => linkedPackage.package.name == 'aaa'); |
| 518 _assertHasLinkedVariable(linkedPackage, 'a', 'A', 'src/a2.dart'); | 518 _assertHasLinkedVariable(linkedPackage, 'a', 'A', 'src/a2.dart'); |
| 519 } | 519 } |
| 520 } | 520 } |
| 521 | 521 |
| 522 test_getLinkedBundles_noCycle_withExport() async { |
| 523 resourceProvider.newFile( |
| 524 '$CACHE/aaa/lib/a.dart', |
| 525 ''' |
| 526 import 'package:bbb/b.dart'; |
| 527 C a; |
| 528 '''); |
| 529 resourceProvider.newFile( |
| 530 '$CACHE/bbb/lib/b.dart', |
| 531 ''' |
| 532 export 'package:ccc/c.dart'; |
| 533 '''); |
| 534 resourceProvider.newFile( |
| 535 '$CACHE/ccc/lib/c.dart', |
| 536 ''' |
| 537 class C {} |
| 538 '''); |
| 539 |
| 540 // Configure packages resolution. |
| 541 Folder libFolderA = resourceProvider.newFolder('$CACHE/aaa/lib'); |
| 542 Folder libFolderB = resourceProvider.newFolder('$CACHE/bbb/lib'); |
| 543 Folder libFolderC = resourceProvider.newFolder('$CACHE/ccc/lib'); |
| 544 context.sourceFactory = new SourceFactory(<UriResolver>[ |
| 545 sdkResolver, |
| 546 resourceResolver, |
| 547 new PackageMapUriResolver(resourceProvider, { |
| 548 'aaa': [libFolderA], |
| 549 'bbb': [libFolderB], |
| 550 'ccc': [libFolderC], |
| 551 }) |
| 552 ]); |
| 553 |
| 554 // Ensure unlinked bundles. |
| 555 manager.getUnlinkedBundles(context); |
| 556 await manager.onUnlinkedComplete; |
| 557 |
| 558 // Now we should be able to get linked bundles. |
| 559 PackageBundle sdkBundle = getSdkBundle(sdk); |
| 560 List<LinkedPubPackage> linkedPackages = |
| 561 manager.getLinkedBundles(context, sdkBundle); |
| 562 expect(linkedPackages, hasLength(3)); |
| 563 |
| 564 // package:aaa |
| 565 { |
| 566 LinkedPubPackage linkedPackage = linkedPackages |
| 567 .singleWhere((linkedPackage) => linkedPackage.package.name == 'aaa'); |
| 568 _assertHasLinkedVariable(linkedPackage, 'a', 'C', 'package:ccc/c.dart'); |
| 569 } |
| 570 } |
| 571 |
| 522 test_getLinkedBundles_useSdkExtension() async { | 572 test_getLinkedBundles_useSdkExtension() async { |
| 523 resourceProvider.newFile( | 573 resourceProvider.newFile( |
| 524 '$CACHE/aaa/lib/a.dart', | 574 '$CACHE/aaa/lib/a.dart', |
| 525 ''' | 575 ''' |
| 526 import 'dart:bbb'; | 576 import 'dart:bbb'; |
| 527 ExtB a; | 577 ExtB a; |
| 528 '''); | 578 '''); |
| 529 resourceProvider.newFile( | 579 resourceProvider.newFile( |
| 530 '$CACHE/bbb/lib/b.dart', | 580 '$CACHE/bbb/lib/b.dart', |
| 531 ''' | 581 ''' |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 }); | 833 }); |
| 784 } | 834 } |
| 785 | 835 |
| 786 static PackageBundle _getBundleByPackageName( | 836 static PackageBundle _getBundleByPackageName( |
| 787 Map<PubPackage, PackageBundle> bundles, String name) { | 837 Map<PubPackage, PackageBundle> bundles, String name) { |
| 788 PubPackage package = | 838 PubPackage package = |
| 789 bundles.keys.singleWhere((package) => package.name == name); | 839 bundles.keys.singleWhere((package) => package.name == name); |
| 790 return bundles[package]; | 840 return bundles[package]; |
| 791 } | 841 } |
| 792 } | 842 } |
| OLD | NEW |