mock_vstd_CLoggerBase.h 1008 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * mock_vstd_CLoggerBase.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. class LoggerMock : public vstd::CLoggerBase
  12. {
  13. public:
  14. void log(ELogLevel::ELogLevel level, const std::string & message) const override
  15. {
  16. //TODO: save last few normal messages and add to gtest error if VCMI error logged
  17. switch(level)
  18. {
  19. case ELogLevel::ERROR:
  20. case ELogLevel::WARN:
  21. ADD_FAILURE() << message;
  22. break;
  23. case ELogLevel::INFO:
  24. break;
  25. case ELogLevel::DEBUG:
  26. break;
  27. case ELogLevel::TRACE:
  28. break;
  29. }
  30. }
  31. void log(ELogLevel::ELogLevel level, const boost::format & fmt) const override
  32. {
  33. this->log(level, fmt.str());
  34. }
  35. bool isDebugEnabled() const override {return true;}
  36. bool isTraceEnabled() const override {return true;}
  37. ELogLevel::ELogLevel getEffectiveLevel() const override {return ELogLevel::TRACE;}
  38. };