Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(252)

Unified Diff: pkg/analyzer/test/src/summary/pub_summary_test.dart

Issue 2242963002: Add DartSdk.getLinkedBundle() and use it in PubSummaryManager. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/test/src/context/mock_sdk.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/src/summary/pub_summary_test.dart
diff --git a/pkg/analyzer/test/src/summary/pub_summary_test.dart b/pkg/analyzer/test/src/summary/pub_summary_test.dart
index f34ed62f618e9b8590f97fb77bcc84aa5b3e16d0..fc1eb7caf020cb5f2ff1a2ebd54c5696009a3d6d 100644
--- a/pkg/analyzer/test/src/summary/pub_summary_test.dart
+++ b/pkg/analyzer/test/src/summary/pub_summary_test.dart
@@ -2,10 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/source/package_map_resolver.dart';
-import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/summary/format.dart';
import 'package:analyzer/src/summary/idl.dart';
@@ -28,8 +26,6 @@ main() {
class PubSummaryManagerTest extends AbstractContextTest {
static const String CACHE = '/home/.pub-cache/hosted/pub.dartlang.org';
- static Map<DartSdk, PackageBundle> sdkBundleMap = <DartSdk, PackageBundle>{};
-
PubSummaryManager manager;
void setUp() {
@@ -93,7 +89,7 @@ class B {}
})
]);
- PackageBundle sdkBundle = getSdkBundle(sdk);
+ PackageBundle sdkBundle = sdk.getLinkedBundle();
PackageBundle bundle = manager.computeSdkExtension(context, sdkBundle);
expect(bundle, isNotNull);
expect(bundle.linkedLibraryUris, ['dart:aaa.internal']);
@@ -203,9 +199,7 @@ String d;
await manager.onUnlinkedComplete;
// Now we should be able to get linked bundles.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, hasLength(4));
// package:aaa
@@ -274,9 +268,7 @@ C b;
// Try to link.
// Only 'aaa' can be linked, because 'bbb' references not available 'ccc'.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, hasLength(1));
// package:aaa
@@ -320,9 +312,7 @@ int b;
// Try to link.
// No linked libraries, because 'aaa' needs 'bbb', and 'bbb' needs 'ccc'.
// But 'ccc' is not available, so the whole chain cannot be linked.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, isEmpty);
}
@@ -359,9 +349,7 @@ int b = 42;
// Try to link.
// Only 'bbb', because 'aaa' references 'package:bbb/b2.dart', which does
// not exist in the bundle 'bbb'.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, hasLength(1));
// package:bbb
@@ -416,9 +404,7 @@ int c;
// Only 'ccc' is linked.
// The 'aaa' + 'bbb' cycle cannot be linked because 'bbb' references
// 'package:ccc/c2.dart', which does not exist in the bundle 'ccc'.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, hasLength(1));
// package:ccc
@@ -460,9 +446,7 @@ A b;
await manager.onUnlinkedComplete;
// Now we should be able to get linked bundles.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, hasLength(2));
// package:aaa
@@ -508,9 +492,7 @@ class A {}
await manager.onUnlinkedComplete;
// Link.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, hasLength(1));
// package:aaa
@@ -558,9 +540,7 @@ class C {}
await manager.onUnlinkedComplete;
// Now we should be able to get linked bundles.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, hasLength(3));
// package:aaa
@@ -614,9 +594,7 @@ class ExtB {}
await manager.onUnlinkedComplete;
// Now we should be able to get linked bundles.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, hasLength(2));
// package:aaa
@@ -659,9 +637,7 @@ Z a;
// Try to link.
// The package 'aaa' cannot be linked because it uses not 'dart' or
// 'package' import URI scheme.
- PackageBundle sdkBundle = getSdkBundle(sdk);
- List<LinkedPubPackage> linkedPackages =
- manager.getLinkedBundles(context, sdkBundle);
+ List<LinkedPubPackage> linkedPackages = manager.getLinkedBundles(context);
expect(linkedPackages, hasLength(0));
}
@@ -941,24 +917,6 @@ class B {}
fail('Cannot find variable $variableName in $linkedPackage');
}
- /**
- * Compute element based summary bundle for the given [sdk].
- */
- static PackageBundle getSdkBundle(DartSdk sdk) {
- return sdkBundleMap.putIfAbsent(sdk, () {
- PackageBundleAssembler assembler = new PackageBundleAssembler();
- for (SdkLibrary sdkLibrary in sdk.sdkLibraries) {
- String uriStr = sdkLibrary.shortName;
- Source source = sdk.mapDartUri(uriStr);
- LibraryElement libraryElement =
- sdk.context.computeLibraryElement(source);
- assembler.serializeLibraryElement(libraryElement);
- }
- List<int> bytes = assembler.assemble().toBuffer();
- return new PackageBundle.fromBuffer(bytes);
- });
- }
-
static PackageBundle _getBundleByPackageName(
Map<PubPackage, PackageBundle> bundles, String name) {
PubPackage package =
« no previous file with comments | « pkg/analyzer/test/src/context/mock_sdk.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698