log_buffer_unittest.cc 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // Copyright 2022 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/quick_pair/common/log_buffer.h"
  5. #include <stddef.h>
  6. #include "base/time/time.h"
  7. #include "testing/gtest/include/gtest/gtest.h"
  8. namespace ash {
  9. namespace quick_pair {
  10. class QuickPairLogBufferTest : public testing::Test,
  11. public LogBuffer::Observer {
  12. public:
  13. void SetUp() override {
  14. log_buffer_ = LogBuffer::GetInstance();
  15. log_buffer_->AddObserver(this);
  16. }
  17. void TearDown() override { log_buffer_->RemoveObserver(this); }
  18. void OnLogMessageAdded(const LogBuffer::LogMessage& log_message) override {
  19. log_messages_.push_back(log_message);
  20. }
  21. void OnLogBufferCleared() override { log_messages_.clear(); }
  22. protected:
  23. std::vector<LogBuffer::LogMessage> log_messages_;
  24. LogBuffer* log_buffer_ = nullptr;
  25. };
  26. TEST_F(QuickPairLogBufferTest, ObserversNotifiedWhenLogsAdded) {
  27. LogBuffer::GetInstance()->AddLogMessage(LogBuffer::LogMessage(
  28. /*text=*/"text", /*time=*/base::Time::Now(), /*file=*/"file", /*line=*/0,
  29. /*severity=*/logging::LOGGING_WARNING));
  30. EXPECT_EQ(log_messages_.size(), 1u);
  31. }
  32. TEST_F(QuickPairLogBufferTest, ObserversNotifiedWhenLogBufferCleared) {
  33. LogBuffer::GetInstance()->Clear();
  34. EXPECT_EQ(log_messages_.size(), 0u);
  35. }
  36. } // namespace quick_pair
  37. } // namespace ash