mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-09-01 12:44:07 +00:00
48 lines
1.5 KiB
Dart
48 lines
1.5 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:logging/logging.dart';
|
|
import 'package:twonly/src/callbacks/logging.callbacks.dart';
|
|
|
|
void main() {
|
|
group('LoggingCallbacks ANSI stripping', () {
|
|
test('removes raw ANSI color escape sequences', () {
|
|
LogRecord? captured;
|
|
final sub = Logger.root.onRecord.listen((record) {
|
|
captured = record;
|
|
});
|
|
|
|
const rawAnsiLog =
|
|
'12:34:56 INFO dir/test.rs:42 \x1b[3mreceipt_id\x1b[0m\x1b[2m=\x1b[0m"d9891084-0f7c-4f30-958d-d8619df5a91c" Handling incoming message: FlameSync';
|
|
|
|
LoggingCallbacks.handleRustLog(rawAnsiLog);
|
|
|
|
expect(captured, isNotNull);
|
|
expect(captured!.loggerName, 'dir/test.rs:42');
|
|
expect(
|
|
captured!.message,
|
|
'receipt_id="d9891084-0f7c-4f30-958d-d8619df5a91c" Handling incoming message: FlameSync',
|
|
);
|
|
|
|
sub.cancel();
|
|
});
|
|
|
|
test('removes escaped caret ANSI notation', () {
|
|
LogRecord? captured;
|
|
final sub = Logger.root.onRecord.listen((record) {
|
|
captured = record;
|
|
});
|
|
|
|
const caretLog =
|
|
r'12:34:56 INFO dir/test.rs:42 \^[[3mreceipt_id\^[[0m\^[[2m=\^[[0m"d9891084" \^[[3mkind\^[[0m\^[[2m=\^[[0m"FlameSync" Handling incoming message';
|
|
|
|
LoggingCallbacks.handleRustLog(caretLog);
|
|
|
|
expect(captured, isNotNull);
|
|
expect(
|
|
captured!.message,
|
|
'receipt_id="d9891084" kind="FlameSync" Handling incoming message',
|
|
);
|
|
|
|
sub.cancel();
|
|
});
|
|
});
|
|
}
|