From 8c129e1c423513af47c15f24683b946459fffb85 Mon Sep 17 00:00:00 2001 From: Nanaloveyuki Date: Sun, 14 Jun 2026 03:35:52 +0800 Subject: [PATCH] :white_check_mark: cover parsed library logger unwrap --- src/BitLogger_test.mbt | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/BitLogger_test.mbt b/src/BitLogger_test.mbt index 4e8290e..6b1cf19 100644 --- a/src/BitLogger_test.mbt +++ b/src/BitLogger_test.mbt @@ -1373,6 +1373,34 @@ test "library logger can be parsed and built from config text" { inspect(full.target, content="lib.json") } +test "parsed library logger unwrap preserves configured runtime path" { + let logger = parse_and_build_library_logger( + "{\"min_level\":\"warn\",\"target\":\"lib.json.runtime\",\"timestamp\":true,\"queue\":{\"max_pending\":3,\"overflow\":\"DropNewest\"},\"sink\":{\"kind\":\"console\"}}", + ) + let full = logger.to_logger() + + inspect(logger.is_enabled(Level::Error), content="true") + inspect(logger.is_enabled(Level::Info), content="false") + inspect(full.target, content="lib.json.runtime") + inspect(full.timestamp, content="true") + + full.error("one") + full.error("two") + inspect(match full.sink { + RuntimeSink::QueuedConsole(_) => "QueuedConsole" + RuntimeSink::QueuedJsonConsole(_) => "QueuedJsonConsole" + RuntimeSink::QueuedTextConsole(_) => "QueuedTextConsole" + RuntimeSink::QueuedFile(_) => "QueuedFile" + _ => "Other" + }, content="QueuedConsole") + inspect(full.sink.pending_count(), content="2") + inspect(full.sink.dropped_count(), content="0") + inspect(full.sink.drain(max_items=1), content="1") + inspect(full.sink.pending_count(), content="1") + inspect(full.sink.flush(), content="1") + inspect(full.sink.pending_count(), content="0") +} + test "configured logger can project to library logger" { let configured = build_logger( LoggerConfig::new(min_level=Level::Warn, target="lib.projected"),