blob: d35529d52ec9caf04ee63ec37565b492ea37a35d [file] [log] [blame]
// Copyright 2019 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:cocoon_common/cocoon_common.dart';
import 'package:cocoon_common_test/cocoon_common_test.dart';
import 'package:test/test.dart';
void main() {
test('uses the provided DateTime for recordedAt', () {
final moment = DateTime.now();
final logger = BufferedLogger.forTesting(now: () => moment);
logger.log('Hello World');
expect(
logger,
bufferedLoggerOf(
equals([
logThat(message: equals('Hello World'), recordedAt: equals(moment)),
]),
),
);
});
test('clears the logger', () {
final logger = BufferedLogger();
logger.log('Hello World');
expect(logger, bufferedLoggerOf(hasLength(1)));
logger.clear();
expect(logger, bufferedLoggerOf(isEmpty));
});
test('stores a JSON message', () {
final logger = BufferedLogger();
logger.logJson({
'numbers': [1, 2, 3],
});
expect(
logger,
bufferedLoggerOf(
equals([
isA<JsonLogRecord>().having((r) => r.message, 'message', {
'numbers': [1, 2, 3],
}),
]),
),
);
});
}