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 "base/test/power_monitor_test_base.h" 6 7#include "base/message_loop/message_loop.h" 8#include "base/power_monitor/power_monitor.h" 9#include "base/power_monitor/power_monitor_source.h" 10 11namespace base { 12 13PowerMonitorTestSource::PowerMonitorTestSource() 14 : test_on_battery_power_(false) { 15} 16 17PowerMonitorTestSource::~PowerMonitorTestSource() { 18} 19 20void PowerMonitorTestSource::GeneratePowerStateEvent(bool on_battery_power) { 21 test_on_battery_power_ = on_battery_power; 22 ProcessPowerEvent(POWER_STATE_EVENT); 23 message_loop_.RunUntilIdle(); 24} 25 26void PowerMonitorTestSource::GenerateSuspendEvent() { 27 ProcessPowerEvent(SUSPEND_EVENT); 28 message_loop_.RunUntilIdle(); 29} 30 31void PowerMonitorTestSource::GenerateResumeEvent() { 32 ProcessPowerEvent(RESUME_EVENT); 33 message_loop_.RunUntilIdle(); 34} 35 36bool PowerMonitorTestSource::IsOnBatteryPowerImpl() { 37 return test_on_battery_power_; 38}; 39 40PowerMonitorTestObserver::PowerMonitorTestObserver() 41 : last_power_state_(false), 42 power_state_changes_(0), 43 suspends_(0), 44 resumes_(0) { 45} 46 47PowerMonitorTestObserver::~PowerMonitorTestObserver() { 48} 49 50// PowerObserver callbacks. 51void PowerMonitorTestObserver::OnPowerStateChange(bool on_battery_power) { 52 last_power_state_ = on_battery_power; 53 power_state_changes_++; 54} 55 56void PowerMonitorTestObserver::OnSuspend() { 57 suspends_++; 58} 59 60void PowerMonitorTestObserver::OnResume() { 61 resumes_++; 62} 63 64} // namespace base 65