blob: bfa8b935da70e4a42679e196aec19b6223663991 [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 'package:barback/barback.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);
bool doIsPrimary(AssetId id) => true;
void doApply(Transform transform) {
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;
case "fine":
logFn = transform.logger.fine;
break;
}
logFn(parts[1].trim());
}
}
}