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