blob: 5170f4d7cd077906f148ca427b79ac0355d64392 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:engine_tool/src/logger.dart';
import 'package:litetest/litetest.dart';
import 'package:logging/logging.dart' as log;
void main() {
List<String> stringsFromLogs(List<log.LogRecord> logs) {
return logs.map((log.LogRecord r) => r.message).toList();
}
test('Setting the level works', () {
final Logger logger = Logger.test();
logger.level = Logger.infoLevel;
expect(logger.level, equals(Logger.infoLevel));
});
test('error messages are recorded at the default log level', () {
final Logger logger = Logger.test();
logger.error('Error');
expect(stringsFromLogs(logger.testLogs), equals(<String>['Error\n']));
});
test('warning messages are recorded at the default log level', () {
final Logger logger = Logger.test();
logger.warning('Warning');
expect(stringsFromLogs(logger.testLogs), equals(<String>['Warning\n']));
});
test('status messages are recorded at the default log level', () {
final Logger logger = Logger.test();
logger.status('Status');
expect(stringsFromLogs(logger.testLogs), equals(<String>['Status\n']));
});
test('info messages are not recorded at the default log level', () {
final Logger logger = Logger.test();
logger.info('info');
expect(stringsFromLogs(logger.testLogs), equals(<String>[]));
});
test('info messages are recorded at the infoLevel log level', () {
final Logger logger = Logger.test();
logger.level = Logger.infoLevel;
logger.info('info');
expect(stringsFromLogs(logger.testLogs), equals(<String>['info\n']));
});
test('indent indents the message', () {
final Logger logger = Logger.test();
logger.status('Status', indent: 1);
expect(stringsFromLogs(logger.testLogs), equals(<String>[' Status\n']));
});
test('newlines in error() can be disabled', () {
final Logger logger = Logger.test();
logger.error('Error', newline: false);
expect(stringsFromLogs(logger.testLogs), equals(<String>['Error']));
});
test('newlines in warning() can be disabled', () {
final Logger logger = Logger.test();
logger.warning('Warning', newline: false);
expect(stringsFromLogs(logger.testLogs), equals(<String>['Warning']));
});
test('newlines in status() can be disabled', () {
final Logger logger = Logger.test();
logger.status('Status', newline: false);
expect(stringsFromLogs(logger.testLogs), equals(<String>['Status']));
});
test('newlines in info() can be disabled', () {
final Logger logger = Logger.test();
logger.level = Logger.infoLevel;
logger.info('info', newline: false);
expect(stringsFromLogs(logger.testLogs), equals(<String>['info']));
});
}