blob: a94a8ef1f7104094e50cfb6ab3200ebf37003875 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// 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_utils.h"
namespace base::test {
TestSamplingEventSource::TestSamplingEventSource() = default;
TestSamplingEventSource::~TestSamplingEventSource() = default;
bool TestSamplingEventSource::Start(SamplingEventCallback callback) {
sampling_event_callback_ = std::move(callback);
return true;
}
void TestSamplingEventSource::SimulateEvent() {
sampling_event_callback_.Run();
}
TestBatteryLevelProvider::TestBatteryLevelProvider() = default;
void TestBatteryLevelProvider::GetBatteryState(
base::OnceCallback<
void(const absl::optional<base::BatteryLevelProvider::BatteryState>&)>
callback) {
std::move(callback).Run(battery_state_);
}
void TestBatteryLevelProvider::SetBatteryState(
absl::optional<base::BatteryLevelProvider::BatteryState> battery_state) {
battery_state_ = battery_state;
}
// static
base::BatteryLevelProvider::BatteryState
TestBatteryLevelProvider::CreateBatteryState(int battery_count,
bool is_external_power_connected,
int charge_percent) {
#if defined(STARBOARD)
// TODO: Remove once we use c++20
return {
battery_count,
is_external_power_connected,
charge_percent,
100,
absl::nullopt,
base::BatteryLevelProvider::BatteryLevelUnit::kRelative,
base::TimeTicks::Now(),
};
#else
return {
.battery_count = battery_count,
.is_external_power_connected = is_external_power_connected,
.current_capacity = charge_percent,
.full_charged_capacity = 100,
.charge_unit = base::BatteryLevelProvider::BatteryLevelUnit::kRelative,
.capture_time = base::TimeTicks::Now(),
};
}
#endif
}
} // namespace base::test