From 53d3427b4e1150cb789c5b3dd85540462cfce4e7 Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Sat, 13 Feb 2021 20:41:45 +0000 Subject: [PATCH] Fix WidgetsListContentEntryTest static initialization error Test: m RunLauncherRoboTests Bug: 180158637 Change-Id: I26316dddd41b1519e8deb0e049355cdce71aac4f --- .../model/WidgetsListContentEntryTest.java | 60 +++++++++---------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/robolectric_tests/src/com/android/launcher3/widget/picker/model/WidgetsListContentEntryTest.java b/robolectric_tests/src/com/android/launcher3/widget/picker/model/WidgetsListContentEntryTest.java index a11d0c9505..86df3f8ab2 100644 --- a/robolectric_tests/src/com/android/launcher3/widget/picker/model/WidgetsListContentEntryTest.java +++ b/robolectric_tests/src/com/android/launcher3/widget/picker/model/WidgetsListContentEntryTest.java @@ -50,20 +50,11 @@ import java.util.Map; @RunWith(RobolectricTestRunner.class) public final class WidgetsListContentEntryTest { private static final String PACKAGE_NAME = "com.google.test"; - private static final PackageItemInfo PACKAGE_ITEM_INFO = new PackageItemInfo(PACKAGE_NAME); - private static final ComponentName WIDGET_1 = ComponentName.createRelative(PACKAGE_NAME, - ".widget1"); - private static final ComponentName WIDGET_2 = ComponentName.createRelative(PACKAGE_NAME, - ".widget2"); - private static final ComponentName WIDGET_3 = ComponentName.createRelative(PACKAGE_NAME, - ".widget3"); - private static final Map WIDGETS_TO_LABELS = new HashMap(); - - static { - WIDGETS_TO_LABELS.put(WIDGET_1, "Cat"); - WIDGETS_TO_LABELS.put(WIDGET_2, "Dog"); - WIDGETS_TO_LABELS.put(WIDGET_3, "Bird"); - } + private final PackageItemInfo mPackageItemInfo = new PackageItemInfo(PACKAGE_NAME); + private final ComponentName mWidget1 = ComponentName.createRelative(PACKAGE_NAME, ".mWidget1"); + private final ComponentName mWidget2 = ComponentName.createRelative(PACKAGE_NAME, ".mWidget2"); + private final ComponentName mWidget3 = ComponentName.createRelative(PACKAGE_NAME, ".mWidget3"); + private final Map mWidgetsToLabels = new HashMap(); @Mock private IconCache mIconCache; @@ -73,6 +64,11 @@ public final class WidgetsListContentEntryTest { @Before public void setUp() { MockitoAnnotations.initMocks(this); + + mWidgetsToLabels.put(mWidget1, "Cat"); + mWidgetsToLabels.put(mWidget2, "Dog"); + mWidgetsToLabels.put(mWidget3, "Bird"); + mContext = RuntimeEnvironment.application; mTestProfile = new InvariantDeviceProfile(); mTestProfile.numRows = 5; @@ -80,7 +76,7 @@ public final class WidgetsListContentEntryTest { doAnswer(invocation -> { ComponentWithLabel componentWithLabel = (ComponentWithLabel) invocation.getArgument(0); - return WIDGETS_TO_LABELS.get(componentWithLabel.getComponent()); + return mWidgetsToLabels.get(componentWithLabel.getComponent()); }).when(mIconCache).getTitleNoCache(any()); } @@ -88,14 +84,14 @@ public final class WidgetsListContentEntryTest { public void unsortedWidgets_diffLabels_shouldSortWidgetItems() { // GIVEN a list of widgets in unsorted order. // Cat 2x3 - WidgetItem widgetItem1 = createWidgetItem(WIDGET_1, /* spanX= */ 2, /* spanY= */ 3); + WidgetItem widgetItem1 = createWidgetItem(mWidget1, /* spanX= */ 2, /* spanY= */ 3); // Dog 2x3 - WidgetItem widgetItem2 = createWidgetItem(WIDGET_2, /* spanX= */ 2, /* spanY= */ 3); + WidgetItem widgetItem2 = createWidgetItem(mWidget2, /* spanX= */ 2, /* spanY= */ 3); // Bird 2x3 - WidgetItem widgetItem3 = createWidgetItem(WIDGET_3, /* spanX= */ 2, /* spanY= */ 3); + WidgetItem widgetItem3 = createWidgetItem(mWidget3, /* spanX= */ 2, /* spanY= */ 3); // WHEN creates a WidgetsListRowEntry with the unsorted widgets. - WidgetsListContentEntry widgetsListRowEntry = new WidgetsListContentEntry(PACKAGE_ITEM_INFO, + WidgetsListContentEntry widgetsListRowEntry = new WidgetsListContentEntry(mPackageItemInfo, /* titleSectionName= */ "T", List.of(widgetItem1, widgetItem2, widgetItem3)); @@ -104,21 +100,21 @@ public final class WidgetsListContentEntryTest { .containsExactly(widgetItem3, widgetItem1, widgetItem2) .inOrder(); assertThat(widgetsListRowEntry.mTitleSectionName).isEqualTo("T"); - assertThat(widgetsListRowEntry.mPkgItem).isEqualTo(PACKAGE_ITEM_INFO); + assertThat(widgetsListRowEntry.mPkgItem).isEqualTo(mPackageItemInfo); } @Test public void unsortedWidgets_sameLabels_differentSize_shouldSortWidgetItems() { // GIVEN a list of widgets in unsorted order. // Cat 3x3 - WidgetItem widgetItem1 = createWidgetItem(WIDGET_1, /* spanX= */ 3, /* spanY= */ 3); + WidgetItem widgetItem1 = createWidgetItem(mWidget1, /* spanX= */ 3, /* spanY= */ 3); // Cat 1x2 - WidgetItem widgetItem2 = createWidgetItem(WIDGET_1, /* spanX= */ 1, /* spanY= */ 2); + WidgetItem widgetItem2 = createWidgetItem(mWidget1, /* spanX= */ 1, /* spanY= */ 2); // Cat 2x2 - WidgetItem widgetItem3 = createWidgetItem(WIDGET_1, /* spanX= */ 2, /* spanY= */ 2); + WidgetItem widgetItem3 = createWidgetItem(mWidget1, /* spanX= */ 2, /* spanY= */ 2); // WHEN creates a WidgetsListRowEntry with the unsorted widgets. - WidgetsListContentEntry widgetsListRowEntry = new WidgetsListContentEntry(PACKAGE_ITEM_INFO, + WidgetsListContentEntry widgetsListRowEntry = new WidgetsListContentEntry(mPackageItemInfo, /* titleSectionName= */ "T", List.of(widgetItem1, widgetItem2, widgetItem3)); @@ -128,23 +124,23 @@ public final class WidgetsListContentEntryTest { .containsExactly(widgetItem2, widgetItem3, widgetItem1) .inOrder(); assertThat(widgetsListRowEntry.mTitleSectionName).isEqualTo("T"); - assertThat(widgetsListRowEntry.mPkgItem).isEqualTo(PACKAGE_ITEM_INFO); + assertThat(widgetsListRowEntry.mPkgItem).isEqualTo(mPackageItemInfo); } @Test public void unsortedWidgets_hodgepodge_shouldSortWidgetItems() { // GIVEN a list of widgets in unsorted order. // Cat 3x3 - WidgetItem widgetItem1 = createWidgetItem(WIDGET_1, /* spanX= */ 3, /* spanY= */ 3); + WidgetItem widgetItem1 = createWidgetItem(mWidget1, /* spanX= */ 3, /* spanY= */ 3); // Cat 1x2 - WidgetItem widgetItem2 = createWidgetItem(WIDGET_1, /* spanX= */ 1, /* spanY= */ 2); + WidgetItem widgetItem2 = createWidgetItem(mWidget1, /* spanX= */ 1, /* spanY= */ 2); // Dog 2x2 - WidgetItem widgetItem3 = createWidgetItem(WIDGET_2, /* spanX= */ 2, /* spanY= */ 2); + WidgetItem widgetItem3 = createWidgetItem(mWidget2, /* spanX= */ 2, /* spanY= */ 2); // Bird 2x2 - WidgetItem widgetItem4 = createWidgetItem(WIDGET_3, /* spanX= */ 2, /* spanY= */ 2); + WidgetItem widgetItem4 = createWidgetItem(mWidget3, /* spanX= */ 2, /* spanY= */ 2); // WHEN creates a WidgetsListRowEntry with the unsorted widgets. - WidgetsListContentEntry widgetsListRowEntry = new WidgetsListContentEntry(PACKAGE_ITEM_INFO, + WidgetsListContentEntry widgetsListRowEntry = new WidgetsListContentEntry(mPackageItemInfo, /* titleSectionName= */ "T", List.of(widgetItem1, widgetItem2, widgetItem3, widgetItem4)); @@ -155,11 +151,11 @@ public final class WidgetsListContentEntryTest { .containsExactly(widgetItem4, widgetItem2, widgetItem1, widgetItem3) .inOrder(); assertThat(widgetsListRowEntry.mTitleSectionName).isEqualTo("T"); - assertThat(widgetsListRowEntry.mPkgItem).isEqualTo(PACKAGE_ITEM_INFO); + assertThat(widgetsListRowEntry.mPkgItem).isEqualTo(mPackageItemInfo); } private WidgetItem createWidgetItem(ComponentName componentName, int spanX, int spanY) { - String label = WIDGETS_TO_LABELS.get(componentName); + String label = mWidgetsToLabels.get(componentName); ShadowPackageManager packageManager = shadowOf(mContext.getPackageManager()); AppWidgetProviderInfo widgetInfo = new AppWidgetProviderInfo(); widgetInfo.provider = componentName;