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

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

Issue 608533003: Properly report assets from static packages as not found. (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 f3769eed49862342b5d090a3d53830a179609fbf..613d9cbd99099a608bd6e98180b76344632abc3a 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
@@ -32,6 +32,30 @@ 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();
@@ -314,6 +338,44 @@ main() {
pub.stdout.expect("Hello!");
pub.shouldExit();
});
+
+ // Regression test for issue 21087.
+ 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) {

Powered by Google App Engine
This is Rietveld 408576698