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

Unified Diff: sdk/lib/_internal/pub/test/dependency_computer/utils.dart

Issue 599993004: Don't load transformers that aren't going to be used for an executable. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 6 years, 3 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
Index: sdk/lib/_internal/pub/test/dependency_computer/utils.dart
diff --git a/sdk/lib/_internal/pub/test/transformers_needed_by_transformers/utils.dart b/sdk/lib/_internal/pub/test/dependency_computer/utils.dart
similarity index 75%
rename from sdk/lib/_internal/pub/test/transformers_needed_by_transformers/utils.dart
rename to sdk/lib/_internal/pub/test/dependency_computer/utils.dart
index 789dad5dd7faa789ffc6e61fc1af1a84d81a84f6..06eb463299bb3f432c81a82ab17eb8decd5e7935 100644
--- a/sdk/lib/_internal/pub/test/transformers_needed_by_transformers/utils.dart
+++ b/sdk/lib/_internal/pub/test/dependency_computer/utils.dart
@@ -4,11 +4,12 @@
library pub_tests;
+import 'package:barback/barback.dart';
import 'package:path/path.dart' as p;
import 'package:scheduled_test/scheduled_test.dart';
import '../../lib/src/barback/cycle_exception.dart';
-import '../../lib/src/barback/transformers_needed_by_transformers.dart';
+import '../../lib/src/barback/dependency_computer.dart';
import '../../lib/src/entrypoint.dart';
import '../../lib/src/io.dart';
import '../../lib/src/package.dart';
@@ -18,15 +19,16 @@ import '../../lib/src/system_cache.dart';
import '../../lib/src/utils.dart';
import '../test_pub.dart';
-/// Expects that [computeTransformersNeededByTransformers] will return a graph
-/// matching [expected] when run on the package graph defined by packages in
-/// the sandbox.
+/// Expects that [DependencyComputer.transformersNeededByTransformers] will
+/// return a graph matching [expected] when run on the package graph defined by
+/// packages in the sandbox.
void expectDependencies(Map<String, Iterable<String>> expected) {
expected = mapMap(expected, value: (_, ids) => ids.toSet());
schedule(() {
+ var computer = new DependencyComputer(_loadPackageGraph());
var result = mapMap(
- computeTransformersNeededByTransformers(_loadPackageGraph()),
+ computer.transformersNeededByTransformers(),
key: (id, _) => id.toString(),
value: (_, ids) => ids.map((id) => id.toString()).toSet());
expect(result, equals(expected));
@@ -38,8 +40,10 @@ void expectDependencies(Map<String, Iterable<String>> expected) {
/// packages in the sandbox.
void expectException(matcher) {
schedule(() {
- expect(() => computeTransformersNeededByTransformers(_loadPackageGraph()),
- throwsA(matcher));
+ expect(() {
+ var computer = new DependencyComputer(_loadPackageGraph());
+ computer.transformersNeededByTransformers();
+ }, throwsA(matcher));
}, "expect an exception: $matcher");
}
@@ -54,6 +58,20 @@ void expectCycleException(Iterable<String> steps) {
}, "cycle exception:\n${steps.map((step) => " $step").join("\n")}"));
}
+/// Expects that [DependencyComputer.transformersNeededByLibrary] will return
+/// transformer ids matching [expected] when run on the library identified by
+/// [id].
+void expectLibraryDependencies(String id, Iterable<String> expected) {
+ expected = expected.toSet();
+
+ schedule(() {
+ var computer = new DependencyComputer(_loadPackageGraph());
+ var result = computer.transformersNeededByLibrary(new AssetId.parse(id))
+ .map((id) => id.toString()).toSet();
+ expect(result, equals(expected));
+ }, "expect dependencies to match $expected");
+}
+
/// Loads a [PackageGraph] from the packages in the sandbox.
///
/// This graph will also include barback and its transitive dependencies from

Powered by Google App Engine
This is Rietveld 408576698