Loading robolectric_tests/src/com/android/launcher3/widget/picker/model/WidgetsListContentEntryTest.java +28 −32 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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()); } Loading @@ -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)); Loading @@ -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)); Loading @@ -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)); Loading @@ -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; Loading Loading
robolectric_tests/src/com/android/launcher3/widget/picker/model/WidgetsListContentEntryTest.java +28 −32 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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()); } Loading @@ -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)); Loading @@ -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)); Loading @@ -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)); Loading @@ -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; Loading