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