From af68d729738a028da585ddf0f82128fee7587d79 Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Tue, 7 Nov 2017 14:24:49 -0800 Subject: [PATCH] Fix test breakage in settingslib If we bump up the API level to 26 in settingslib robo tests, BatteryMeterDrawableBaseTest has test failure. This cl fix it by inject to the critical level and bump up API level. Bug: 69001622 Test: RunSettingsLibRoboTests Change-Id: I1b70d9ac23be000efbaed3edcef912e6787ebc5c --- .../src/com/android/settingslib/graph/BatteryMeterDrawableBase.java | 3 +-- .../tests/robotests/src/com/android/settingslib/TestConfig.java | 4 +++- .../com/android/settingslib/graph/BatteryMeterDrawableBaseTest.java | 6 +++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java b/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java index f4c9bb31f01a..4fe9d56a4179 100755 --- a/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java +++ b/packages/SettingsLib/src/com/android/settingslib/graph/BatteryMeterDrawableBase.java @@ -16,7 +16,6 @@ package com.android.settingslib.graph; -import android.animation.ArgbEvaluator; import android.annotation.Nullable; import android.content.Context; import android.content.res.Resources; @@ -100,7 +99,7 @@ public class BatteryMeterDrawableBase extends Drawable { final int N = levels.length(); mColors = new int[2 * N]; - for (int i=0; i < N; i++) { + for (int i = 0; i < N; i++) { mColors[2 * i] = levels.getInt(i, 0); if (colors.getType(i) == TypedValue.TYPE_ATTRIBUTE) { mColors[2 * i + 1] = Utils.getColorAttr(context, colors.getThemeAttributeId(i, 0)); diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/TestConfig.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/TestConfig.java index 3af976836439..1f9070c266a0 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/TestConfig.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/TestConfig.java @@ -16,8 +16,10 @@ package com.android.settingslib; +import android.os.Build; + public class TestConfig { - public static final int SDK_VERSION = 25; + public static final int SDK_VERSION = Build.VERSION_CODES.O; public static final String MANIFEST_PATH = "frameworks/base/packages/SettingsLib/tests/robotests/AndroidManifest.xml"; } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/graph/BatteryMeterDrawableBaseTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/graph/BatteryMeterDrawableBaseTest.java index 3522b8abfe62..e0222329f231 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/graph/BatteryMeterDrawableBaseTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/graph/BatteryMeterDrawableBaseTest.java @@ -18,6 +18,7 @@ package com.android.settingslib.graph; import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import android.content.Context; @@ -35,11 +36,13 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsLibRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = SettingsLibShadowResources.class) public class BatteryMeterDrawableBaseTest { + private static final int CRITICAL_LEVEL = 5; private static final int PADDING = 5; private static final int HEIGHT = 80; private static final int WIDTH = 40; @@ -53,7 +56,8 @@ public class BatteryMeterDrawableBaseTest { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; - mBatteryMeterDrawableBase = new BatteryMeterDrawableBase(mContext, 0 /* frameColor */); + mBatteryMeterDrawableBase = spy(new BatteryMeterDrawableBase(mContext, 0 /* frameColor */)); + ReflectionHelpers.setField(mBatteryMeterDrawableBase, "mCriticalLevel", CRITICAL_LEVEL); } @Test -- 2.11.0