Home | History | Annotate | Download | only in internal_api
      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 
      5 #include "sync/internal_api/debug_info_event_listener.h"
      6 
      7 #include "testing/gtest/include/gtest/gtest.h"
      8 
      9 namespace syncer {
     10 
     11 typedef testing::Test DebugInfoEventListenerTest;
     12 
     13 TEST_F(DebugInfoEventListenerTest, VerifyEventsAdded) {
     14   DebugInfoEventListener debug_info_event_listener;
     15   debug_info_event_listener.CreateAndAddEvent(
     16       sync_pb::SyncEnums::ENCRYPTION_COMPLETE);
     17   ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
     18   const sync_pb::DebugEventInfo& debug_info =
     19       debug_info_event_listener.events_.back();
     20   ASSERT_TRUE(debug_info.has_singleton_event());
     21   ASSERT_EQ(debug_info.singleton_event(),
     22             sync_pb::SyncEnums::ENCRYPTION_COMPLETE);
     23 }
     24 
     25 TEST_F(DebugInfoEventListenerTest, VerifyQueueSize) {
     26   DebugInfoEventListener debug_info_event_listener;
     27   for (unsigned int i = 0; i < 2*kMaxEntries; ++i) {
     28     debug_info_event_listener.CreateAndAddEvent(
     29         sync_pb::SyncEnums::ENCRYPTION_COMPLETE);
     30   }
     31   sync_pb::DebugInfo debug_info;
     32   debug_info_event_listener.GetDebugInfo(&debug_info);
     33   debug_info_event_listener.ClearDebugInfo();
     34   ASSERT_TRUE(debug_info.events_dropped());
     35   ASSERT_EQ(static_cast<int>(kMaxEntries), debug_info.events_size());
     36 }
     37 
     38 TEST_F(DebugInfoEventListenerTest, VerifyGetEvents) {
     39   DebugInfoEventListener debug_info_event_listener;
     40   debug_info_event_listener.CreateAndAddEvent(
     41       sync_pb::SyncEnums::ENCRYPTION_COMPLETE);
     42   ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
     43   sync_pb::DebugInfo debug_info;
     44   debug_info_event_listener.GetDebugInfo(&debug_info);
     45   ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
     46   ASSERT_EQ(debug_info.events_size(), 1);
     47   ASSERT_TRUE(debug_info.events(0).has_singleton_event());
     48   ASSERT_EQ(debug_info.events(0).singleton_event(),
     49             sync_pb::SyncEnums::ENCRYPTION_COMPLETE);
     50 }
     51 
     52 TEST_F(DebugInfoEventListenerTest, VerifyClearEvents) {
     53   DebugInfoEventListener debug_info_event_listener;
     54   debug_info_event_listener.CreateAndAddEvent(
     55       sync_pb::SyncEnums::ENCRYPTION_COMPLETE);
     56   ASSERT_EQ(debug_info_event_listener.events_.size(), 1U);
     57   debug_info_event_listener.ClearDebugInfo();
     58   ASSERT_EQ(debug_info_event_listener.events_.size(), 0U);
     59 }
     60 
     61 }  // namespace syncer
     62