debug_info_event_listener_unittest.cc 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // Copyright (c) 2012 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 "components/sync/engine/debug_info_event_listener.h"
  5. #include "testing/gtest/include/gtest/gtest.h"
  6. namespace syncer {
  7. using DebugInfoEventListenerTest = testing::Test;
  8. TEST_F(DebugInfoEventListenerTest, VerifyEventsAdded) {
  9. DebugInfoEventListener debug_info_event_listener;
  10. debug_info_event_listener.CreateAndAddEvent(
  11. sync_pb::SyncEnums::INITIALIZATION_COMPLETE);
  12. ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
  13. const sync_pb::DebugEventInfo& debug_info =
  14. debug_info_event_listener.events_.back();
  15. ASSERT_TRUE(debug_info.has_singleton_event());
  16. ASSERT_EQ(debug_info.singleton_event(),
  17. sync_pb::SyncEnums::INITIALIZATION_COMPLETE);
  18. }
  19. TEST_F(DebugInfoEventListenerTest, VerifyQueueSize) {
  20. DebugInfoEventListener debug_info_event_listener;
  21. for (unsigned int i = 0; i < 2 * kMaxEntries; ++i) {
  22. debug_info_event_listener.CreateAndAddEvent(
  23. sync_pb::SyncEnums::INITIALIZATION_COMPLETE);
  24. }
  25. sync_pb::DebugInfo debug_info = debug_info_event_listener.GetDebugInfo();
  26. debug_info_event_listener.ClearDebugInfo();
  27. ASSERT_TRUE(debug_info.events_dropped());
  28. ASSERT_EQ(static_cast<int>(kMaxEntries), debug_info.events_size());
  29. }
  30. TEST_F(DebugInfoEventListenerTest, VerifyGetEvents) {
  31. DebugInfoEventListener debug_info_event_listener;
  32. debug_info_event_listener.CreateAndAddEvent(
  33. sync_pb::SyncEnums::INITIALIZATION_COMPLETE);
  34. ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
  35. sync_pb::DebugInfo debug_info = debug_info_event_listener.GetDebugInfo();
  36. ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
  37. ASSERT_EQ(debug_info.events_size(), 1);
  38. ASSERT_TRUE(debug_info.events(0).has_singleton_event());
  39. ASSERT_EQ(debug_info.events(0).singleton_event(),
  40. sync_pb::SyncEnums::INITIALIZATION_COMPLETE);
  41. }
  42. TEST_F(DebugInfoEventListenerTest, VerifyClearEvents) {
  43. DebugInfoEventListener debug_info_event_listener;
  44. debug_info_event_listener.CreateAndAddEvent(
  45. sync_pb::SyncEnums::INITIALIZATION_COMPLETE);
  46. ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
  47. debug_info_event_listener.ClearDebugInfo();
  48. ASSERT_EQ(debug_info_event_listener.events_.size(), 0U);
  49. }
  50. } // namespace syncer