diff options
Diffstat (limited to 'asl/logging/logging_tests.cpp')
-rw-r--r-- | asl/logging/logging_tests.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/asl/logging/logging_tests.cpp b/asl/logging/logging_tests.cpp index 39a800a..d531cda 100644 --- a/asl/logging/logging_tests.cpp +++ b/asl/logging/logging_tests.cpp @@ -1,6 +1,7 @@ #include "asl/logging/logging.hpp" #include "asl/testing/testing.hpp" #include "asl/strings/string_builder.hpp" +#include "asl/base/defer.hpp" ASL_TEST(log) { @@ -9,15 +10,19 @@ ASL_TEST(log) ASL_LOG_ERROR("Oh no! {}", 42); } -static asl::StringWriter g_string_writer{}; - ASL_TEST(custom_writer) { - asl::log::register_logger<asl::log::DefaultLogger<asl::StringWriter<>&>>(g_string_writer); - + asl::StringWriter string_writer{}; + asl::log::DefaultLogger<asl::StringWriter<>&> logger(string_writer); + + asl::log::register_logger(&logger); + ASL_DEFER [&logger]() { + asl::log::unregister_logger(&logger); + }; + ASL_LOG_INFO("Hello"); - auto sv = g_string_writer.as_string_view(); + auto sv = string_writer.as_string_view(); - ASL_TEST_EXPECT(sv == "[ INFO ] asl/logging/logging_tests.cpp:18: Hello\n"); + ASL_TEST_EXPECT(sv == "[ INFO ] asl/logging/logging_tests.cpp:23: Hello\n"); } |