| // Copyright 2013 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 "base/test/power_monitor_test_base.h" | 
 |  | 
 | #include "base/message_loop/message_loop.h" | 
 | #include "base/power_monitor/power_monitor.h" | 
 | #include "base/power_monitor/power_monitor_source.h" | 
 |  | 
 | namespace base { | 
 |  | 
 | PowerMonitorTestSource::PowerMonitorTestSource() | 
 |     : test_on_battery_power_(false) { | 
 | } | 
 |  | 
 | PowerMonitorTestSource::~PowerMonitorTestSource() { | 
 | } | 
 |  | 
 | void PowerMonitorTestSource::GeneratePowerStateEvent(bool on_battery_power) { | 
 |   test_on_battery_power_ = on_battery_power; | 
 |   ProcessPowerEvent(POWER_STATE_EVENT); | 
 |   message_loop_.RunUntilIdle(); | 
 | } | 
 |  | 
 | void PowerMonitorTestSource::GenerateSuspendEvent() { | 
 |   ProcessPowerEvent(SUSPEND_EVENT); | 
 |   message_loop_.RunUntilIdle(); | 
 | } | 
 |  | 
 | void PowerMonitorTestSource::GenerateResumeEvent() { | 
 |   ProcessPowerEvent(RESUME_EVENT); | 
 |   message_loop_.RunUntilIdle(); | 
 | } | 
 |  | 
 | bool PowerMonitorTestSource::IsOnBatteryPowerImpl() { | 
 |   return test_on_battery_power_; | 
 | }; | 
 |  | 
 | PowerMonitorTestObserver::PowerMonitorTestObserver() | 
 |     : last_power_state_(false), | 
 |       power_state_changes_(0), | 
 |       suspends_(0), | 
 |       resumes_(0) { | 
 | } | 
 |  | 
 | PowerMonitorTestObserver::~PowerMonitorTestObserver() { | 
 | } | 
 |  | 
 | // PowerObserver callbacks. | 
 | void PowerMonitorTestObserver::OnPowerStateChange(bool on_battery_power) { | 
 |   last_power_state_ = on_battery_power; | 
 |   power_state_changes_++; | 
 | } | 
 |  | 
 | void PowerMonitorTestObserver::OnSuspend() { | 
 |   suspends_++; | 
 | } | 
 |  | 
 | void PowerMonitorTestObserver::OnResume() { | 
 |   resumes_++; | 
 | } | 
 |  | 
 | }  // namespace base |