Index: sdk/lib/_internal/pub_generated/test/get/cache_transformed_dependency_test.dart |
diff --git a/sdk/lib/_internal/pub_generated/test/get/cache_transformed_dependency_test.dart b/sdk/lib/_internal/pub_generated/test/get/cache_transformed_dependency_test.dart |
index 76b095cd134f6d29ad35e2eeabc9f117ab749e11..6a056855db4513b13be6d7af8bebc1ff9c12e11f 100644 |
--- a/sdk/lib/_internal/pub_generated/test/get/cache_transformed_dependency_test.dart |
+++ b/sdk/lib/_internal/pub_generated/test/get/cache_transformed_dependency_test.dart |
@@ -214,6 +214,70 @@ main() { |
".pub/deps/debug/foo/lib", |
[d.file("foo.dart", "final mode = 'debug';")])]).validate(); |
}); |
+ 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.")); |
+ 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) { |
return """ |