Index: sdk/lib/_internal/pub/test/run/runs_a_generated_script_test.dart |
diff --git a/sdk/lib/_internal/pub/test/transformer/supports_a_transformer_that_doesnt_return_futures_test.dart b/sdk/lib/_internal/pub/test/run/runs_a_generated_script_test.dart |
similarity index 52% |
copy from sdk/lib/_internal/pub/test/transformer/supports_a_transformer_that_doesnt_return_futures_test.dart |
copy to sdk/lib/_internal/pub/test/run/runs_a_generated_script_test.dart |
index 0d67187c9c019d8f6dcec3e920f1e3c5d6c68ed3..daedf2567873e462f16c90f5f8020a0ae9cb2585 100644 |
--- a/sdk/lib/_internal/pub/test/transformer/supports_a_transformer_that_doesnt_return_futures_test.dart |
+++ b/sdk/lib/_internal/pub/test/run/runs_a_generated_script_test.dart |
@@ -1,30 +1,25 @@ |
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS d.file |
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
-library pub_tests; |
- |
import '../descriptor.dart' as d; |
import '../test_pub.dart'; |
-import '../serve/utils.dart'; |
+import 'utils.dart'; |
const TRANSFORMER = """ |
import 'dart:async'; |
import 'package:barback/barback.dart'; |
-class RewriteTransformer extends Transformer implements DeclaringTransformer { |
- RewriteTransformer.asPlugin(); |
+class DartTransformer extends Transformer { |
+ DartTransformer.asPlugin(); |
- bool isPrimary(AssetId id) => id.extension == '.txt'; |
+ String get allowedExtensions => '.in'; |
void apply(Transform transform) { |
transform.addOutput(new Asset.fromString( |
- transform.primaryInput.id, "new contents")); |
- } |
- |
- void declareOutputs(DeclaringTransform transform) { |
- transform.declareOutput(transform.primaryId); |
+ new AssetId("myapp", "bin/script.dart"), |
+ "void main() => print('generated');")); |
} |
} |
"""; |
@@ -32,25 +27,25 @@ class RewriteTransformer extends Transformer implements DeclaringTransformer { |
main() { |
initConfig(); |
withBarbackVersions("any", () { |
- integration("supports a transformer that doesn't return futures", () { |
+ integration('runs a script generated from scratch by a transformer', () { |
d.dir(appPath, [ |
d.pubspec({ |
"name": "myapp", |
"transformers": ["myapp/src/transformer"] |
}), |
d.dir("lib", [d.dir("src", [ |
- d.file("transformer.dart", TRANSFORMER) |
- ])]), |
- d.dir("web", [ |
- d.file("foo.txt", "foo") |
- ]) |
+ d.file("transformer.dart", TRANSFORMER), |
+ d.file("primary.in", "") |
+ ])]) |
]).create(); |
createLockFile('myapp', pkg: ['barback']); |
- pubServe(); |
- requestShouldSucceed("foo.txt", "new contents"); |
- endPubServe(); |
+ var pub = pubRun(args: ["script"], |
+ transformers: ["myapp/src/transformer"]); |
+ |
+ pub.stdout.expect("generated"); |
+ pub.shouldExit(); |
}); |
}); |
} |