12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- // 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 "components/drive/event_logger.h"
- #include "testing/gtest/include/gtest/gtest.h"
- namespace drive {
- TEST(EventLoggerTest, BasicLogging) {
- EventLogger logger;
- logger.SetHistorySize(3); // At most 3 events are kept.
- EXPECT_EQ(0U, logger.GetHistory().size());
- logger.Log(logging::LOG_INFO, "first");
- logger.Log(logging::LOG_INFO, "%dnd", 2);
- logger.Log(logging::LOG_INFO, "third");
- // Events are recorded in the chronological order with sequential IDs.
- std::vector<EventLogger::Event> history = logger.GetHistory();
- ASSERT_EQ(3U, history.size());
- EXPECT_EQ(0, history[0].id);
- EXPECT_EQ("first", history[0].what);
- EXPECT_EQ(1, history[1].id);
- EXPECT_EQ("2nd", history[1].what);
- EXPECT_EQ(2, history[2].id);
- EXPECT_EQ("third", history[2].what);
- logger.Log(logging::LOG_INFO, "fourth");
- // It does not log events beyond the specified.
- history = logger.GetHistory();
- ASSERT_EQ(3U, history.size());
- // The oldest events is pushed out.
- EXPECT_EQ(1, history[0].id);
- EXPECT_EQ("2nd", history[0].what);
- EXPECT_EQ(2, history[1].id);
- EXPECT_EQ("third", history[1].what);
- EXPECT_EQ(3, history[2].id);
- EXPECT_EQ("fourth", history[2].what);
- }
- } // namespace drive
|