Fix WidgetsListContentEntryTest static initialization error
Test: m RunLauncherRoboTests Bug: 180158637 Change-Id: I26316dddd41b1519e8deb0e049355cdce71aac4f
This commit is contained in:
+28
-32
@@ -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<ComponentName, String> 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<ComponentName, String> 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;
|
||||
|
||||
Reference in New Issue
Block a user