Loading CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ if(SLED_BUILD_TESTS) src/any_test.cc src/filesystem/path_test.cc src/futures/future_test.cc src/log/fmt_test.cc # src/profiling/profiling_test.cc src/strings/base64_test.cc src/synchronization/sequence_checker_test.cc Loading include/sled/log/log.h +8 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ #ifndef SLED_LOG_LOG_H #define SLED_LOG_LOG_H #pragma once #include "sled/system/location.h" #include <assert.h> #include <fmt/chrono.h> Loading @@ -19,6 +20,13 @@ #include <fmt/std.h> #include <fmt/xchar.h> template<typename T, typename std::enable_if<std::is_enum<T>::value, int>::type = 0> auto format_as(const T &value) -> int { return static_cast<int>(value); } namespace sled { enum class LogLevel { kTrace = 0, Loading src/log/fmt_test.cc 0 → 100644 +24 −0 Original line number Diff line number Diff line #include <gtest/gtest.h> #include <sled/log/log.h> TEST(format, enum) { enum EnumType { kOne = 1, kTwo = 2, kThree = 3, }; EXPECT_EQ(fmt::format("{}{}{}", kOne, kTwo, kThree), "123"); } TEST(format, neg_enum) { enum EnumType { kOne = -1, kTwo = -2, kThree = -3, }; EXPECT_EQ(fmt::format("{}{}{}", kOne, kTwo, kThree), "-1-2-3"); } Loading
CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ if(SLED_BUILD_TESTS) src/any_test.cc src/filesystem/path_test.cc src/futures/future_test.cc src/log/fmt_test.cc # src/profiling/profiling_test.cc src/strings/base64_test.cc src/synchronization/sequence_checker_test.cc Loading
include/sled/log/log.h +8 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ #ifndef SLED_LOG_LOG_H #define SLED_LOG_LOG_H #pragma once #include "sled/system/location.h" #include <assert.h> #include <fmt/chrono.h> Loading @@ -19,6 +20,13 @@ #include <fmt/std.h> #include <fmt/xchar.h> template<typename T, typename std::enable_if<std::is_enum<T>::value, int>::type = 0> auto format_as(const T &value) -> int { return static_cast<int>(value); } namespace sled { enum class LogLevel { kTrace = 0, Loading
src/log/fmt_test.cc 0 → 100644 +24 −0 Original line number Diff line number Diff line #include <gtest/gtest.h> #include <sled/log/log.h> TEST(format, enum) { enum EnumType { kOne = 1, kTwo = 2, kThree = 3, }; EXPECT_EQ(fmt::format("{}{}{}", kOne, kTwo, kThree), "123"); } TEST(format, neg_enum) { enum EnumType { kOne = -1, kTwo = -2, kThree = -3, }; EXPECT_EQ(fmt::format("{}{}{}", kOne, kTwo, kThree), "-1-2-3"); }