OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 library barback.test.transformer.has_input; | |
6 | |
7 import 'dart:async'; | |
8 | |
9 import 'package:barback/barback.dart'; | |
10 | |
11 import 'mock.dart'; | |
12 | |
13 /// Overwrites its primary inputs with descriptions of whether various secondary | |
14 /// inputs exist. | |
15 class HasInputTransformer extends MockTransformer { | |
16 /// The inputs whose existence will be checked. | |
17 final List<AssetId> inputs; | |
18 | |
19 HasInputTransformer(Iterable<String> inputs) | |
20 : inputs = inputs.map((input) => new AssetId.parse(input)).toList(); | |
21 | |
22 bool doIsPrimary(AssetId id) => true; | |
23 | |
24 Future doApply(Transform transform) { | |
25 return Future.wait(inputs.map((input) { | |
26 return transform.hasInput(input).then((hasInput) => "$input: $hasInput"); | |
27 })).then((results) { | |
28 transform.addOutput(new Asset.fromString( | |
29 transform.primaryInput.id, results.join(', '))); | |
30 }); | |
31 } | |
32 | |
33 String toString() => "has inputs $inputs"; | |
34 } | |
OLD | NEW |