| // 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'; |
| |
| const String _fileName = 'stdout_with_location_test.dart'; |
| |
| void main() { |
| test('_testLogToStdoutWithLocation', _testLogToStdoutWithLocation); |
| } |
| |
| void _testLogToStdoutWithLocation() async { |
| final List<String> logOutput = <String>[]; |
| runZoned<void>( |
| () { |
| setupLogger( |
| name: 'TEST', |
| forceShowCodeLocation: true, |
| ); |
| log.info('foo'); |
| |
| expect(logOutput.length, equals(1)); |
| expect(logOutput[0], matches('\\[INFO:TEST:$_fileName\\(\\d+\\)\\] foo')); |
| }, |
| zoneSpecification: ZoneSpecification( |
| print: (Zone self, ZoneDelegate parent, Zone zone, String line) { |
| logOutput.add(line); |
| }, |
| ), |
| ); |
| } |