summaryrefslogtreecommitdiff
path: root/asl/logging/logging_tests.cpp
blob: ea5bd2af229ef42c30efecd046bc5a35211d9042 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright 2025 Steven Le Rouzic
//
// SPDX-License-Identifier: BSD-3-Clause

#include "asl/base/defer.hpp"
#include "asl/logging/logging.hpp"
#include "asl/strings/string_builder.hpp"
#include "asl/strings/string_view.hpp"
#include "asl/testing/testing.hpp"

ASL_TEST(log)
{
    asl::log::log(asl::log::kInfo, asl::source_location{}, "Hello, {}!", "world"_sv);

    ASL_LOG_ERROR("Oh no! {}", 42);
}

ASL_TEST(custom_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 = string_writer.as_string_view();

    ASL_TEST_EXPECT(sv == "[  INFO   ] asl/logging/logging_tests.cpp:28: Hello\n");
}