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

Unified Diff: sdk/lib/_internal/pub/test/get/cache_transformed_dependency_test.dart

Issue 583853002: Use precompiled dependencies in pub. (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/get/cache_transformed_dependency_test.dart
diff --git a/sdk/lib/_internal/pub/test/get/cache_transformed_dependency_test.dart b/sdk/lib/_internal/pub/test/get/cache_transformed_dependency_test.dart
index 86c3baa4b94f2e06d8a37d2922a9e0ba8168f62e..f3769eed49862342b5d090a3d53830a179609fbf 100644
--- a/sdk/lib/_internal/pub/test/get/cache_transformed_dependency_test.dart
+++ b/sdk/lib/_internal/pub/test/get/cache_transformed_dependency_test.dart
@@ -237,44 +237,83 @@ main() {
]).validate();
});
- // TODO(nweiz): Implement this.
- // integration("loads code from the cache", () {
- // servePackages((builder) {
- // builder.serveRepoPackage('barback');
- //
- // builder.serve("foo", "1.2.3",
- // deps: {'barback': 'any'},
- // pubspec: {'transformers': ['foo']},
- // contents: [
- // d.dir("lib", [
- // d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
- // d.file("foo.dart", "final message = 'Hello!';")
- // ])
- // ]);
- // });
- //
- // d.dir(appPath, [
- // d.appPubspec({"foo": "1.2.3"}),
- // d.dir('bin', [
- // d.file('script.dart', """
- // import 'package:foo/foo.dart';
- //
- // void main() => print(message);""")
- // ])
- // ]).create();
- //
- // pubGet(output: contains("Precompiled foo."));
- //
- // d.dir(appPath, [
- // d.dir(".pub/deps/debug/foo/lib", [
- // d.file("foo.dart", "final message = 'Modified!';")
- // ])
- // ]).create();
- //
- // var pub = pubRun(args: ["script"]);
- // pub.stdout.expect("Modified!");
- // pub.shouldExit();
- // });
+ integration("loads code from the cache", () {
+ servePackages((builder) {
+ builder.serveRepoPackage('barback');
+
+ builder.serve("foo", "1.2.3",
+ deps: {'barback': 'any'},
+ pubspec: {'transformers': ['foo']},
+ contents: [
+ d.dir("lib", [
+ d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
+ d.file("foo.dart", "final message = 'Hello!';")
+ ])
+ ]);
+ });
+
+ d.dir(appPath, [
+ d.appPubspec({"foo": "1.2.3"}),
+ d.dir('bin', [
+ d.file('script.dart', """
+ import 'package:foo/foo.dart';
+
+ void main() => print(message);""")
+ ])
+ ]).create();
+
+ pubGet(output: contains("Precompiled foo."));
+
+ d.dir(appPath, [
+ d.dir(".pub/deps/debug/foo/lib", [
+ d.file("foo.dart", "final message = 'Modified!';")
+ ])
+ ]).create();
+
+ var pub = pubRun(args: ["script"]);
+ pub.stdout.expect("Modified!");
+ pub.shouldExit();
+ });
+
+ integration("doesn't re-transform code loaded from the cache", () {
+ servePackages((builder) {
+ builder.serveRepoPackage('barback');
+
+ builder.serve("foo", "1.2.3",
+ deps: {'barback': 'any'},
+ pubspec: {'transformers': ['foo']},
+ contents: [
+ d.dir("lib", [
+ d.file("transformer.dart", replaceTransformer("Hello", "Goodbye")),
+ d.file("foo.dart", "final message = 'Hello!';")
+ ])
+ ]);
+ });
+
+ d.dir(appPath, [
+ d.appPubspec({"foo": "1.2.3"}),
+ d.dir('bin', [
+ d.file('script.dart', """
+ import 'package:foo/foo.dart';
+
+ void main() => print(message);""")
+ ])
+ ]).create();
+
+ pubGet(output: contains("Precompiled foo."));
+
+ // Manually reset the cache to its original state to prove that the
+ // transformer won't be run again on it.
+ d.dir(appPath, [
+ d.dir(".pub/deps/debug/foo/lib", [
+ d.file("foo.dart", "final message = 'Hello!';")
+ ])
+ ]).create();
+
+ var pub = pubRun(args: ["script"]);
+ pub.stdout.expect("Hello!");
+ pub.shouldExit();
+ });
}
String replaceTransformer(String input, String output) {

Powered by Google App Engine
This is Rietveld 408576698