Adds a menu item for additional battery info to battery settings.

Bug: 33352540
Test: No additional test failures.

Change-Id: Ibfc1a9463c93d3c087ed712fe45d3d0717472c6a
This commit is contained in:
Jaewoong Jung
2016-12-12 17:32:31 -08:00
parent fe312be222
commit 1e0f8ff5e5
9 changed files with 125 additions and 10 deletions

View File

@@ -0,0 +1,94 @@
package com.android.settings.fuelgauge;
import android.content.Context;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import static com.android.settings.fuelgauge.PowerUsageBase.MENU_STATS_REFRESH;
import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_ADDITIONAL_BATTERY_INFO;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
/**
* Unit tests for {@link PowerUsageSummary}.
*/
@RunWith(RobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class PowerUsageSummaryTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Menu mMenu;
@Mock
private MenuItem mRefresh;
@Mock
private MenuInflater mMenuInflater;
private TestFragment mFragment;
private FakeFeatureFactory mFeatureFactory;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
mFragment = new TestFragment(mContext);
when(mMenu.add(Menu.NONE, PowerUsageBase.MENU_STATS_REFRESH, Menu.NONE,
R.string.menu_stats_refresh)
.setIcon(com.android.internal.R.drawable.ic_menu_refresh)
.setAlphabeticShortcut('r'))
.thenReturn(mRefresh);
}
@Test
public void testOnCreateOptionsMenu_additionalBatteryInfoEnabled() {
when(mFeatureFactory.powerUsageFeatureProvider.isAdditionalBatteryInfoEnabled())
.thenReturn(true);
mFragment.onCreateOptionsMenu(mMenu, mMenuInflater);
verify(mMenu).add(Menu.NONE, MENU_ADDITIONAL_BATTERY_INFO,
Menu.NONE, R.string.additional_battery_info);
}
@Test
public void testOnCreateOptionsMenu_additionalBatteryInfoDisabled() {
when(mFeatureFactory.powerUsageFeatureProvider.isAdditionalBatteryInfoEnabled())
.thenReturn(false);
mFragment.onCreateOptionsMenu(mMenu, mMenuInflater);
verify(mMenu, never()).add(Menu.NONE, MENU_ADDITIONAL_BATTERY_INFO,
Menu.NONE, R.string.additional_battery_info);
}
public static class TestFragment extends PowerUsageSummary {
private Context mContext;
public TestFragment(Context context) {
mContext = context;
}
@Override
public Context getContext() {
return mContext;
}
}
}