#include "ash/quick_pair/common/log_buffer.h"
#include <stddef.h>
#include "base/memory/raw_ptr.h"
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace ash {
namespace quick_pair {
class QuickPairLogBufferTest : public testing::Test,
public LogBuffer::Observer {
public:
void SetUp() override {
log_buffer_ = LogBuffer::GetInstance();
log_buffer_->AddObserver(this);
}
void TearDown() override { log_buffer_->RemoveObserver(this); }
void OnLogMessageAdded(const LogBuffer::LogMessage& log_message) override {
log_messages_.push_back(log_message);
}
void OnLogBufferCleared() override { log_messages_.clear(); }
protected:
std::vector<LogBuffer::LogMessage> log_messages_;
raw_ptr<LogBuffer> log_buffer_ = nullptr;
};
TEST_F(QuickPairLogBufferTest, ObserversNotifiedWhenLogsAdded) {
LogBuffer::GetInstance()->AddLogMessage(LogBuffer::LogMessage(
"text", base::Time::Now(), "file", 0,
logging::LOGGING_WARNING));
EXPECT_EQ(log_messages_.size(), 1u);
}
TEST_F(QuickPairLogBufferTest, ObserversNotifiedWhenLogBufferCleared) {
LogBuffer::GetInstance()->Clear();
EXPECT_EQ(log_messages_.size(), 0u);
}
}
}