logger_test.cxx 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //
  2. // logger_test.cxx
  3. // logger
  4. //
  5. // Created by Sam Jaffe on 3/31/19.
  6. //
  7. #include "mock_logger.h"
  8. #include "logger/logger.h"
  9. using namespace logging;
  10. namespace {
  11. struct t_logger : public logger {
  12. t_logger(std::string const & name, std::shared_ptr<logger_impl> impl)
  13. : logger(name, impl) {}
  14. };
  15. }
  16. TEST_F(LoggerTest, FlushesOnClose) {
  17. EXPECT_CALL(*appender, flush()).Times(1);
  18. t_logger("", pimpl);
  19. }
  20. TEST_F(LoggerTest, FlushesOnFlushCall) {
  21. EXPECT_CALL(*appender, flush()).Times(2);
  22. t_logger("", pimpl).flush();
  23. }
  24. TEST_F(LoggerTest, LogsWithBraceFmtCode) {
  25. EXPECT_CALL(*layout, format(MessageEq("5"))).Times(1);
  26. t_logger("", pimpl).log(level::error, "{}", 5);
  27. }
  28. TEST_F(LoggerTest, DoesNotLogAboveLevel) {
  29. using testing::_;
  30. pimpl->min_log_level = level::fatal;
  31. EXPECT_CALL(*appender, write(_)).Times(0);
  32. t_logger("", pimpl).log(level::error, "{}", 5);
  33. }
  34. TEST_F(LoggerTest, LogCurlyBraceLiteralByDoubling) {
  35. EXPECT_CALL(*layout, format(MessageEq("{}"))).Times(1);
  36. t_logger("", pimpl).log(level::error, "{{}}", 5);
  37. }