Index: pkg/barback/test/package_graph/transform_test.dart |
diff --git a/pkg/barback/test/package_graph/transform_test.dart b/pkg/barback/test/package_graph/transform_test.dart |
index ba14d16eb58f9a1dc85241e9af2691291d50fd6c..8c108b3f24e4f69e6d88c4836ea3ed50ec12b4fa 100644 |
--- a/pkg/barback/test/package_graph/transform_test.dart |
+++ b/pkg/barback/test/package_graph/transform_test.dart |
@@ -1055,5 +1055,45 @@ main() { |
expectNoAsset("pkg1|c.done"); |
buildShouldSucceed(); |
}); |
+ |
+ test("sees a transformer that's newly applied to a cross-package " |
+ "dependency", () { |
+ initGraph({ |
+ "pkg1|a.txt": "pkg2|a.inc", |
+ "pkg2|a.inc": "a" |
+ }, { |
+ "pkg1": [[new ManyToOneTransformer("txt")]], |
+ "pkg2": [[new CheckContentTransformer("b", " transformed")]] |
+ }); |
+ |
+ updateSources(["pkg1|a.txt", "pkg2|a.inc"]); |
+ expectAsset("pkg1|a.out", "a"); |
+ buildShouldSucceed(); |
+ |
+ modifyAsset("pkg2|a.inc", "b"); |
+ updateSources(["pkg2|a.inc"]); |
+ expectAsset("pkg1|a.out", "b transformed"); |
+ buildShouldSucceed(); |
+ }); |
+ |
+ test("doesn't see a transformer that's newly not applied to a " |
+ "cross-package dependency", () { |
+ initGraph({ |
+ "pkg1|a.txt": "pkg2|a.inc", |
+ "pkg2|a.inc": "a" |
+ }, { |
+ "pkg1": [[new ManyToOneTransformer("txt")]], |
+ "pkg2": [[new CheckContentTransformer("a", " transformed")]] |
+ }); |
+ |
+ updateSources(["pkg1|a.txt", "pkg2|a.inc"]); |
+ expectAsset("pkg1|a.out", "a transformed"); |
+ buildShouldSucceed(); |
+ |
+ modifyAsset("pkg2|a.inc", "b"); |
+ updateSources(["pkg2|a.inc"]); |
+ expectAsset("pkg1|a.out", "b"); |
+ buildShouldSucceed(); |
+ }); |
}); |
} |