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 6a056855db4513b13be6d7af8bebc1ff9c12e11f..7661ff61a4392f200d55fc717513fb7a7d2af25a 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 |
@@ -24,6 +24,29 @@ class ModeTransformer extends Transformer { |
} |
} |
"""; |
+const HAS_INPUT_TRANSFORMER = """ |
+import 'dart:async'; |
+ |
+import 'package:barback/barback.dart'; |
+ |
+class HasInputTransformer extends Transformer { |
+ HasInputTransformer.asPlugin(); |
+ |
+ bool get allowedExtensions => '.txt'; |
+ |
+ Future apply(Transform transform) { |
+ return Future.wait([ |
+ transform.hasInput(new AssetId("foo", "lib/foo.dart")), |
+ transform.hasInput(new AssetId("foo", "lib/does/not/exist.dart")) |
+ ]).then((results) { |
+ transform.addOutput(new Asset.fromString( |
+ transform.primaryInput.id, |
+ "lib/foo.dart: \${results.first}, " |
+ "lib/does/not/exist.dart: \${results.last}")); |
+ }); |
+ } |
+} |
+"""; |
main() { |
initConfig(); |
integration("caches a transformed dependency", () { |
@@ -278,6 +301,39 @@ main() { |
pub.stdout.expect("Hello!"); |
pub.shouldExit(); |
}); |
+ integration("hasInput works for static packages", () { |
+ 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", "void main() => print('Hello!');")])]); |
+ }); |
+ d.dir(appPath, [d.pubspec({ |
+ "name": "myapp", |
+ "dependencies": { |
+ "foo": "1.2.3" |
+ }, |
+ "transformers": ["myapp/src/transformer"] |
+ }), |
+ d.dir( |
+ "lib", |
+ [d.dir("src", [d.file("transformer.dart", HAS_INPUT_TRANSFORMER)])]), |
+ d.dir("web", [d.file("foo.txt", "foo")])]).create(); |
+ pubGet(output: contains("Precompiled foo.")); |
+ pubServe(); |
+ requestShouldSucceed( |
+ "foo.txt", |
+ "lib/foo.dart: true, lib/does/not/exist.dart: false"); |
+ endPubServe(); |
+ }); |
} |
String replaceTransformer(String input, String output) { |
return """ |