blob: 248c4a02b4e322a889a2a99661d1990dedcfabb3 [file] [log] [blame]
// Copyright 2017 The Fuchsia 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 'dart:async';
import 'package:lib.app.dart/logging.dart';
import 'package:test/test.dart';
void main() {
test('_testLogToStdoutWithException', _testLogToStdoutWithException);
}
void _testLogToStdoutWithException() async {
final List<String> logOutput = <String>[];
runZoned<void>(
() {
setupLogger(
name: 'TEST',
level: Level.ALL,
forceShowCodeLocation: false,
);
log.shout('foo', Exception('cause'));
expect(logOutput.length, equals(1));
expect(logOutput[0], equals('[FATAL:TEST] foo: Exception: cause'));
log.severe('bar', Exception('because'), StackTrace.current);
expect(logOutput.length, equals(3));
expect(logOutput[1], equals('[ERROR:TEST] bar: Exception: because'));
expect(logOutput[2], matches(r'.*_testLogToStdoutWithError.*'));
},
zoneSpecification: ZoneSpecification(
print: (Zone self, ZoneDelegate parent, Zone zone, String line) {
logOutput.add(line);
},
),
);
}