2025-08-10 21:48:23 +03:00
|
|
|
import 'package:test/test.dart';
|
2025-08-11 16:27:46 +03:00
|
|
|
import 'package:talker/talker.dart';
|
|
|
|
|
import 'package:talker_cherrypick_logger/talker_cherrypick_logger.dart';
|
2025-08-10 21:48:23 +03:00
|
|
|
|
|
|
|
|
void main() {
|
2025-08-11 18:01:21 +03:00
|
|
|
group('TalkerCherryPickObserver', () {
|
2025-08-11 16:27:46 +03:00
|
|
|
late Talker talker;
|
2025-08-11 18:01:21 +03:00
|
|
|
late TalkerCherryPickObserver observer;
|
2025-08-10 21:48:23 +03:00
|
|
|
|
|
|
|
|
setUp(() {
|
2025-08-11 16:27:46 +03:00
|
|
|
talker = Talker();
|
2025-08-11 18:01:21 +03:00
|
|
|
observer = TalkerCherryPickObserver(talker);
|
2025-08-11 16:27:46 +03:00
|
|
|
});
|
|
|
|
|
|
2025-08-11 18:01:21 +03:00
|
|
|
test('onInstanceRequested logs info', () {
|
|
|
|
|
observer.onInstanceRequested('A', String, scopeName: 'test');
|
2025-08-11 16:27:46 +03:00
|
|
|
final log = talker.history.last;
|
2025-08-13 15:38:44 +03:00
|
|
|
expect(log.message,
|
|
|
|
|
contains('[request][CherryPick] A — String (scope: test)'));
|
2025-08-11 16:27:46 +03:00
|
|
|
});
|
|
|
|
|
|
2025-08-11 18:01:21 +03:00
|
|
|
test('onCycleDetected logs warning', () {
|
|
|
|
|
observer.onCycleDetected(['A', 'B'], scopeName: 's');
|
2025-08-11 16:27:46 +03:00
|
|
|
final log = talker.history.last;
|
2025-08-11 18:01:21 +03:00
|
|
|
expect(log.message, contains('[cycle][CherryPick] Detected'));
|
2025-08-11 16:27:46 +03:00
|
|
|
//expect(log.level, TalkerLogLevel.warning);
|
2025-08-10 21:48:23 +03:00
|
|
|
});
|
|
|
|
|
|
2025-08-11 18:01:21 +03:00
|
|
|
test('onError calls handle', () {
|
|
|
|
|
final error = Exception('fail');
|
2025-08-11 16:27:46 +03:00
|
|
|
final stack = StackTrace.current;
|
2025-08-11 18:01:21 +03:00
|
|
|
observer.onError('Oops', error, stack);
|
2025-08-11 16:27:46 +03:00
|
|
|
final log = talker.history.last;
|
2025-08-11 18:01:21 +03:00
|
|
|
expect(log.message, contains('[error][CherryPick] Oops'));
|
2025-08-11 16:27:46 +03:00
|
|
|
expect(log.exception, error);
|
|
|
|
|
expect(log.stackTrace, stack);
|
2025-08-10 21:48:23 +03:00
|
|
|
});
|
2025-08-11 18:01:21 +03:00
|
|
|
|
|
|
|
|
test('onDiagnostic logs verbose', () {
|
|
|
|
|
observer.onDiagnostic('hello', details: 123);
|
|
|
|
|
final log = talker.history.last;
|
|
|
|
|
//expect(log.level, TalkerLogLevel.verbose);
|
|
|
|
|
expect(log.message, contains('hello'));
|
|
|
|
|
expect(log.message, contains('123'));
|
|
|
|
|
});
|
2025-08-10 21:48:23 +03:00
|
|
|
});
|
|
|
|
|
}
|