| Index: content/public/android/javatests/src/org/chromium/content/browser/BatteryStatusManagerTest.java
|
| diff --git a/content/public/android/javatests/src/org/chromium/content/browser/BatteryStatusManagerTest.java b/content/public/android/javatests/src/org/chromium/content/browser/BatteryStatusManagerTest.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e5f95d1599c61a826dddcb39add7dfe83c4e2a93
|
| --- /dev/null
|
| +++ b/content/public/android/javatests/src/org/chromium/content/browser/BatteryStatusManagerTest.java
|
| @@ -0,0 +1,166 @@
|
| +// Copyright 2014 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.
|
| +
|
| +package org.chromium.content.browser;
|
| +
|
| +import android.content.Context;
|
| +import android.content.Intent;
|
| +
|
| +import android.os.BatteryManager;
|
| +
|
| +import android.test.AndroidTestCase;
|
| +import android.test.suitebuilder.annotation.SmallTest;
|
| +
|
| +/**
|
| + * Test suite for BatteryStatusManager.
|
| + */
|
| +public class BatteryStatusManagerTest extends AndroidTestCase {
|
| +
|
| + private BatteryStatusManagerForTests mBatteryStatusManager;
|
| +
|
| + @Override
|
| + public void setUp() throws Exception {
|
| + super.setUp();
|
| + mBatteryStatusManager = BatteryStatusManagerForTests.getInstance(getContext());
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testOnReceiveBatteryNotPluggedIn() {
|
| + Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
| + intent.putExtra(BatteryManager.EXTRA_PRESENT, true);
|
| + intent.putExtra(BatteryManager.EXTRA_PLUGGED, 0);
|
| + intent.putExtra(BatteryManager.EXTRA_LEVEL, 10);
|
| + intent.putExtra(BatteryManager.EXTRA_SCALE, 100);
|
| + intent.putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_NOT_CHARGING);
|
| +
|
| + mBatteryStatusManager.onReceive(intent);
|
| +
|
| + mBatteryStatusManager.verifyCalls("gotBatteryStatus");
|
| + mBatteryStatusManager.verifyValues(false, Double.POSITIVE_INFINITY,
|
| + Double.POSITIVE_INFINITY, 0.1);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testOnReceiveBatteryPluggedInACCharging() {
|
| + Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
| + intent.putExtra(BatteryManager.EXTRA_PRESENT, true);
|
| + intent.putExtra(BatteryManager.EXTRA_PLUGGED, BatteryManager.BATTERY_PLUGGED_AC);
|
| + intent.putExtra(BatteryManager.EXTRA_LEVEL, 50);
|
| + intent.putExtra(BatteryManager.EXTRA_SCALE, 100);
|
| + intent.putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
|
| +
|
| + mBatteryStatusManager.onReceive(intent);
|
| +
|
| + mBatteryStatusManager.verifyCalls("gotBatteryStatus");
|
| + mBatteryStatusManager.verifyValues(true, Double.POSITIVE_INFINITY,
|
| + Double.POSITIVE_INFINITY, 0.5);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testOnReceiveBatteryPluggedInACNotCharging() {
|
| + Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
| + intent.putExtra(BatteryManager.EXTRA_PRESENT, true);
|
| + intent.putExtra(BatteryManager.EXTRA_PLUGGED, BatteryManager.BATTERY_PLUGGED_AC);
|
| + intent.putExtra(BatteryManager.EXTRA_LEVEL, 50);
|
| + intent.putExtra(BatteryManager.EXTRA_SCALE, 100);
|
| + intent.putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_NOT_CHARGING);
|
| +
|
| + mBatteryStatusManager.onReceive(intent);
|
| +
|
| + mBatteryStatusManager.verifyCalls("gotBatteryStatus");
|
| + mBatteryStatusManager.verifyValues(true, Double.POSITIVE_INFINITY,
|
| + Double.POSITIVE_INFINITY, 0.5);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testOnReceiveBatteryPluggedInUSBFull() {
|
| + Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
| + intent.putExtra(BatteryManager.EXTRA_PRESENT, true);
|
| + intent.putExtra(BatteryManager.EXTRA_PLUGGED, BatteryManager.BATTERY_PLUGGED_USB);
|
| + intent.putExtra(BatteryManager.EXTRA_LEVEL, 100);
|
| + intent.putExtra(BatteryManager.EXTRA_SCALE, 100);
|
| + intent.putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_FULL);
|
| +
|
| + mBatteryStatusManager.onReceive(intent);
|
| +
|
| + mBatteryStatusManager.verifyCalls("gotBatteryStatus");
|
| + mBatteryStatusManager.verifyValues(true, 0, Double.POSITIVE_INFINITY, 1);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testOnReceiveNoBattery() {
|
| + Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
| + intent.putExtra(BatteryManager.EXTRA_PRESENT, false);
|
| + intent.putExtra(BatteryManager.EXTRA_PLUGGED, BatteryManager.BATTERY_PLUGGED_USB);
|
| +
|
| + mBatteryStatusManager.onReceive(intent);
|
| +
|
| + mBatteryStatusManager.verifyCalls("gotBatteryStatus");
|
| + mBatteryStatusManager.verifyValues(true, 0, Double.POSITIVE_INFINITY, 1);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testOnReceiveNoPluggedStatus() {
|
| + Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
| + intent.putExtra(BatteryManager.EXTRA_PRESENT, true);
|
| +
|
| + mBatteryStatusManager.onReceive(intent);
|
| +
|
| + mBatteryStatusManager.verifyCalls("gotBatteryStatus");
|
| + mBatteryStatusManager.verifyValues(true, 0, Double.POSITIVE_INFINITY, 1);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testStartStopSucceeds() {
|
| + assertTrue(mBatteryStatusManager.start(0));
|
| + mBatteryStatusManager.stop();
|
| + }
|
| +
|
| + // Helper class for testing.
|
| +
|
| + private static class BatteryStatusManagerForTests extends BatteryStatusManager {
|
| +
|
| + private boolean mCharging = false;
|
| + private double mChargingTime = 0;
|
| + private double mDischargingTime = 0;
|
| + private double mLevel = 0;
|
| + private String mCalls = "";
|
| +
|
| + private BatteryStatusManagerForTests(Context context) {
|
| + super(context);
|
| + }
|
| +
|
| + static BatteryStatusManagerForTests getInstance(Context context) {
|
| + return new BatteryStatusManagerForTests(context);
|
| + }
|
| +
|
| + private void verifyValues(boolean charging, double chargingTime,
|
| + double dischargingTime, double level) {
|
| + assertEquals(charging, mCharging);
|
| + assertEquals(chargingTime, mChargingTime);
|
| + assertEquals(dischargingTime, mDischargingTime);
|
| + assertEquals(level, mLevel);
|
| + }
|
| +
|
| + private void verifyCalls(String names) {
|
| + assertEquals(mCalls, names);
|
| + }
|
| +
|
| + @Override
|
| + protected boolean ignoreBatteryPresentState() {
|
| + return false;
|
| + }
|
| +
|
| + @Override
|
| + protected void gotBatteryStatus(boolean charging, double chargingTime,
|
| + double dischargingTime, double level) {
|
| + mCharging = charging;
|
| + mChargingTime = chargingTime;
|
| + mDischargingTime = dischargingTime;
|
| + mLevel = level;
|
| + mCalls = mCalls.concat("gotBatteryStatus");
|
| + }
|
| + }
|
| +
|
| +}
|
|
|