• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 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 "chrome/browser/sync_file_system/logger.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7 
8 using drive::EventLogger;
9 
10 namespace sync_file_system {
11 
12 namespace {
13 
14 // Logs one event at each supported LogSeverity level.
LogSampleEvents()15 void LogSampleEvents() {
16   util::Log(logging::LOG_INFO, FROM_HERE, "Info test message");
17   util::Log(logging::LOG_WARNING, FROM_HERE, "Warning test message");
18   util::Log(logging::LOG_ERROR, FROM_HERE, "Error test message");
19 }
20 
ContainsString(std::string contains_string,EventLogger::Event event)21 bool ContainsString(std::string contains_string, EventLogger::Event event) {
22   return event.what.find(contains_string) != std::string::npos;
23 }
24 
25 }  // namespace
26 
27 class LoggerTest : public testing::Test {
28  public:
LoggerTest()29   LoggerTest() {}
30 
SetUp()31   virtual void SetUp() OVERRIDE {
32     logging::SetMinLogLevel(logging::LOG_INFO);
33     util::ClearLog();
34   }
35 
36  private:
37   DISALLOW_COPY_AND_ASSIGN(LoggerTest);
38 };
39 
TEST_F(LoggerTest,GetLogHistory)40 TEST_F(LoggerTest, GetLogHistory) {
41   LogSampleEvents();
42 
43   const std::vector<EventLogger::Event> log = util::GetLogHistory();
44   ASSERT_EQ(3u, log.size());
45   EXPECT_TRUE(ContainsString("Info test message", log[0]));
46   EXPECT_TRUE(ContainsString("Warning test message", log[1]));
47   EXPECT_TRUE(ContainsString("Error test message", log[2]));
48 }
49 
TEST_F(LoggerTest,ClearLog)50 TEST_F(LoggerTest, ClearLog) {
51   LogSampleEvents();
52   EXPECT_EQ(3u, util::GetLogHistory().size());
53 
54   util::ClearLog();
55   EXPECT_EQ(0u, util::GetLogHistory().size());
56 }
57 
58 
59 }  // namespace sync_file_system
60