blob: f2b63fc7d9742185cd9347ef965dd7882ef31795 [file] [log] [blame]
// 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.log;
import 'dart:async';
import 'package:barback/barback.dart';
import 'package:barback/src/utils.dart';
import 'mock.dart';
/// A transformer that logs given entries during its apply.
class LogTransformer extends MockTransformer {
/// The list of entries that it should log.
///
/// Each entry has the log level followed by the message, like:
///
/// error: This is the error message.
final List<String> _entries;
LogTransformer(this._entries);
Future<bool> doIsPrimary(Asset asset) => new Future.value(true);
Future doApply(Transform transform) {
return newFuture(() {
for (var entry in _entries) {
var parts = entry.split(":");
var logFn;
switch (parts[0]) {
case "error": logFn = transform.logger.error; break;
case "warning": logFn = transform.logger.warning; break;
case "info": logFn = transform.logger.info; break;
}
logFn(parts[1].trim());
}
});
}
}