Index: sdk/lib/_internal/pub/test/build/outputs_error_to_json_test.dart |
diff --git a/sdk/lib/_internal/pub/test/transformer/can_use_read_input_test.dart b/sdk/lib/_internal/pub/test/build/outputs_error_to_json_test.dart |
similarity index 50% |
copy from sdk/lib/_internal/pub/test/transformer/can_use_read_input_test.dart |
copy to sdk/lib/_internal/pub/test/build/outputs_error_to_json_test.dart |
index fba1eed718ec25ea170930a19ddaa6b9f38e3393..bb522acd236bbe6e3806c7343efca8b3747cecc7 100644 |
--- a/sdk/lib/_internal/pub/test/transformer/can_use_read_input_test.dart |
+++ b/sdk/lib/_internal/pub/test/build/outputs_error_to_json_test.dart |
@@ -1,12 +1,14 @@ |
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.file |
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS d.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 'package:scheduled_test/scheduled_test.dart'; |
+ |
+import '../../lib/src/exit_codes.dart' as exit_codes; |
import '../descriptor.dart' as d; |
import '../test_pub.dart'; |
-import '../serve/utils.dart'; |
const TRANSFORMER = """ |
import 'dart:async'; |
@@ -18,28 +20,21 @@ class RewriteTransformer extends Transformer { |
String get allowedExtensions => '.txt'; |
- Future apply(Transform transform) { |
- return transform.readInput(transform.primaryInput.id).toList() |
- .then((contents) { |
- var id = transform.primaryInput.id.changeExtension(".out"); |
- var asset = new Asset.fromString(id, "\$contents.out"); |
- transform.addOutput(asset); |
- }); |
- } |
+ Future apply(Transform transform) => throw new Exception('oh no!'); |
} |
"""; |
main() { |
initConfig(); |
- integration("a transform can use readInputAsString", () { |
+ integration("outputs error to JSON in a failed build", () { |
d.dir(appPath, [ |
d.pubspec({ |
"name": "myapp", |
- "transformers": ["myapp/src/transformer"] |
+ "transformers": ["myapp"] |
}), |
- d.dir("lib", [d.dir("src", [ |
+ d.dir("lib", [ |
d.file("transformer.dart", TRANSFORMER) |
- ])]), |
+ ]), |
d.dir("web", [ |
d.file("foo.txt", "foo") |
]) |
@@ -47,8 +42,17 @@ main() { |
createLockFile('myapp', pkg: ['barback']); |
- pubServe(); |
- requestShouldSucceed("foo.out", "[[102, 111, 111]].out"); |
- endPubServe(); |
+ schedulePub(args: ["build", "--format", "json"], |
+ outputJson: { |
+ "buildResult": "failure", |
+ "errors": [ |
+ { |
+ "error": startsWith( |
+ "Transform Rewrite on myapp|web/foo.txt threw error: oh no!") |
+ } |
+ ], |
+ "log": [] |
+ }, |
+ exitCode: exit_codes.DATA); |
}); |
} |