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.log; | 5 library barback.test.transformer.log; |
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 import 'package:barback/src/utils.dart'; | 10 import 'package:barback/src/utils.dart'; |
11 | 11 |
12 import 'mock.dart'; | 12 import 'mock.dart'; |
13 | 13 |
14 /// A transformer that logs given entries during its apply. | 14 /// A transformer that logs given entries during its apply. |
15 class LogTransformer extends MockTransformer { | 15 class LogTransformer extends MockTransformer { |
16 /// The list of entries that it should log. | 16 /// The list of entries that it should log. |
17 /// | 17 /// |
18 /// Each entry has the log level followed by the message, like: | 18 /// Each entry has the log level followed by the message, like: |
19 /// | 19 /// |
20 /// error: This is the error message. | 20 /// error: This is the error message. |
21 final List<String> _entries; | 21 final List<String> _entries; |
22 | 22 |
23 LogTransformer(this._entries); | 23 LogTransformer(this._entries); |
24 | 24 |
25 bool doIsPrimary(AssetId id) => true; | 25 Future<bool> doIsPrimary(_) => new Future.value(true); |
26 | 26 |
27 void doApply(Transform transform) { | 27 Future doApply(Transform transform) { |
28 for (var entry in _entries) { | 28 return newFuture(() { |
29 var parts = entry.split(":"); | 29 for (var entry in _entries) { |
30 var logFn; | 30 var parts = entry.split(":"); |
31 switch (parts[0]) { | 31 var logFn; |
32 case "error": logFn = transform.logger.error; break; | 32 switch (parts[0]) { |
33 case "warning": logFn = transform.logger.warning; break; | 33 case "error": logFn = transform.logger.error; break; |
34 case "info": logFn = transform.logger.info; break; | 34 case "warning": logFn = transform.logger.warning; break; |
35 case "fine": logFn = transform.logger.fine; break; | 35 case "info": logFn = transform.logger.info; break; |
| 36 case "fine": logFn = transform.logger.fine; break; |
| 37 } |
| 38 |
| 39 logFn(parts[1].trim()); |
36 } | 40 } |
37 | 41 }); |
38 logFn(parts[1].trim()); | |
39 } | |
40 } | 42 } |
41 } | 43 } |
OLD | NEW |