blob: a3522035929a11e95450190b9a0810e225c6848b [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "sync/internal_api/debug_info_event_listener.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace syncer {
typedef testing::Test DebugInfoEventListenerTest;
TEST_F(DebugInfoEventListenerTest, VerifyEventsAdded) {
DebugInfoEventListener debug_info_event_listener;
debug_info_event_listener.CreateAndAddEvent(
sync_pb::DebugEventInfo::ENCRYPTION_COMPLETE);
ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
const sync_pb::DebugEventInfo& debug_info =
debug_info_event_listener.events_.back();
ASSERT_TRUE(debug_info.has_type());
ASSERT_EQ(debug_info.type(), sync_pb::DebugEventInfo::ENCRYPTION_COMPLETE);
}
TEST_F(DebugInfoEventListenerTest, VerifyQueueSize) {
DebugInfoEventListener debug_info_event_listener;
for (int i = 0; i < 10; ++i) {
debug_info_event_listener.CreateAndAddEvent(
sync_pb::DebugEventInfo::ENCRYPTION_COMPLETE);
}
ASSERT_EQ(debug_info_event_listener.events_.size(), kMaxEntries);
}
TEST_F(DebugInfoEventListenerTest, VerifyGetAndClearEvents) {
DebugInfoEventListener debug_info_event_listener;
debug_info_event_listener.CreateAndAddEvent(
sync_pb::DebugEventInfo::ENCRYPTION_COMPLETE);
ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
sync_pb::DebugInfo debug_info;
debug_info_event_listener.GetAndClearDebugInfo(&debug_info);
ASSERT_EQ(debug_info_event_listener.events_.size(), 0U);
ASSERT_EQ(debug_info.events_size(), 1);
ASSERT_TRUE(debug_info.events(0).has_type());
ASSERT_EQ(debug_info.events(0).type(),
sync_pb::DebugEventInfo::ENCRYPTION_COMPLETE);
}
} // namespace syncer