logger_unittest.cc revision eb525c5499e34cc9c4b825d6d9e75bb07cc06ace
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 8using drive::EventLogger; 9 10namespace sync_file_system { 11 12namespace { 13 14// Logs one event at each supported LogSeverity level. 15void 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 21bool ContainsString(std::string contains_string, EventLogger::Event event) { 22 return event.what.find(contains_string) != std::string::npos; 23} 24 25} // namespace 26 27class LoggerTest : public testing::Test { 28 public: 29 LoggerTest() {} 30 31 virtual void SetUp() OVERRIDE { 32 logging::SetMinLogLevel(logging::LOG_INFO); 33 util::ClearLog(); 34 } 35 36 protected: 37 DISALLOW_COPY_AND_ASSIGN(LoggerTest); 38}; 39 40TEST_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 50TEST_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