Chromium Code Reviews| Index: pkg/barback/test/transformer/declaring_bad.dart |
| diff --git a/pkg/barback/test/transformer/declaring_bad.dart b/pkg/barback/test/transformer/declaring_bad.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..161f91fc7e48742cfce170eade935433cd31b81b |
| --- /dev/null |
| +++ b/pkg/barback/test/transformer/declaring_bad.dart |
| @@ -0,0 +1,45 @@ |
| +// Copyright (c) 2013, 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 barback.test.transformer.declaring_bad; |
| + |
| +import 'dart:async'; |
| + |
| +import 'package:barback/barback.dart'; |
| +import 'package:barback/src/utils.dart'; |
| + |
| +import 'bad.dart'; |
| +import 'mock.dart'; |
| + |
| +/// A transformer that throws an exception when run, after generating the |
| +/// given outputs. |
| +class DeclaringBadTransformer extends MockTransformer |
| + implements DeclaringTransformer { |
| + final bool declareError; |
|
Bob Nystrom
2014/04/08 18:23:44
Document these.
nweiz
2014/04/08 23:42:33
Done.
|
| + final bool applyError; |
| + final String output; |
|
Bob Nystrom
2014/04/08 18:23:44
How about making this an AssetId and parsing it in
nweiz
2014/04/08 23:42:33
Done.
|
| + |
| + DeclaringBadTransformer(this.output, {bool declareError: true, |
| + bool applyError: false}) |
| + : this.declareError = declareError, |
| + this.applyError = applyError; |
| + |
| + Future<bool> doIsPrimary(AssetId id) => new Future.value(true); |
| + |
| + Future doApply(Transform transform) { |
| + return newFuture(() { |
| + var id = new AssetId.parse(output); |
| + transform.addOutput(new Asset.fromString(id, "bad out")); |
| + if (applyError) throw BadTransformer.ERROR; |
| + }); |
| + } |
| + |
| + Future declareOutputs(DeclaringTransform transform) { |
| + return newFuture(() { |
| + if (consumePrimary) transform.consumePrimary(); |
| + transform.declareOutput(new AssetId.parse(output)); |
| + if (declareError) throw BadTransformer.ERROR; |
| + }); |
| + } |
| +} |