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 613d9cbd99099a608bd6e98180b76344632abc3a..f19780569eb146c9e17582b15834aa22daca9899 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 |
@@ -376,6 +376,51 @@ main() { |
"lib/foo.dart: true, lib/does/not/exist.dart: false"); |
endPubServe(); |
}); |
+ |
+ // Regression test for issue 21810. |
+ integration("decaches when the dependency is updated to something " |
+ "untransformed", () { |
+ 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!';") |
+ ]) |
+ ]); |
+ |
+ builder.serve("foo", "1.2.4", |
+ deps: {'barback': 'any'}, |
+ contents: [ |
+ d.dir("lib", [ |
+ d.file("foo.dart", "final message = 'Hello!';") |
+ ]) |
+ ]); |
+ }); |
+ |
+ d.appDir({"foo": "1.2.3"}).create(); |
+ |
+ pubGet(output: contains("Precompiled foo.")); |
+ |
+ d.dir(appPath, [ |
+ d.dir(".pub/deps/debug/foo/lib", [ |
+ d.file("foo.dart", "final message = 'Goodbye!';") |
+ ]) |
+ ]).validate(); |
+ |
+ // Upgrade to the new version of foo. |
+ d.appDir({"foo": "1.2.4"}).create(); |
+ |
+ pubGet(output: isNot(contains("Precompiled foo."))); |
+ |
+ d.dir(appPath, [ |
+ d.nothing(".pub/deps/debug/foo") |
+ ]).validate(); |
+ }); |
} |
String replaceTransformer(String input, String output) { |