From 7ab324a5035d90cfd8657c4b31f5022a180545f3 Mon Sep 17 00:00:00 2001 From: Sebastian Franco Date: Thu, 28 Sep 2023 10:27:09 -0700 Subject: [PATCH] Moving testWidgets from TaplTestsLauncher3 to it's own test TaplWidgetPickerTest Bug: 298234173 Test: atest TaplWidgetPickerTest Change-Id: Ia19469d2021cb833b5c1d9d176425b9d6d352797 --- tests/Android.bp | 1 + .../launcher3/ui/TaplTestsLauncher3.java | 48 ---------- .../ui/widget/TaplWidgetPickerTest.java | 92 +++++++++++++++++++ 3 files changed, 93 insertions(+), 48 deletions(-) create mode 100644 tests/src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java diff --git a/tests/Android.bp b/tests/Android.bp index 654edad10c..18fed4f6aa 100644 --- a/tests/Android.bp +++ b/tests/Android.bp @@ -49,6 +49,7 @@ filegroup { "src/com/android/launcher3/ui/AbstractLauncherUiTest.java", "src/com/android/launcher3/ui/PortraitLandscapeRunner.java", "src/com/android/launcher3/ui/TaplTestsLauncher3.java", + "src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java", "src/com/android/launcher3/util/LauncherLayoutBuilder.java", "src/com/android/launcher3/util/TestUtil.java", "src/com/android/launcher3/util/Wait.java", diff --git a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java index bc53d6ddb9..b10eed3dfc 100644 --- a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java +++ b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java @@ -16,9 +16,6 @@ package com.android.launcher3.ui; -import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL; -import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -40,16 +37,11 @@ import com.android.launcher3.tapl.AllApps; import com.android.launcher3.tapl.AppIcon; import com.android.launcher3.tapl.HomeAllApps; import com.android.launcher3.tapl.HomeAppIcon; -import com.android.launcher3.tapl.Widgets; import com.android.launcher3.tapl.Workspace; import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape; import com.android.launcher3.util.LauncherLayoutBuilder; import com.android.launcher3.util.TestUtil; -import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord; import com.android.launcher3.util.rule.TISBindRule; -import com.android.launcher3.util.rule.TestStabilityRule.Stability; -import com.android.launcher3.widget.picker.WidgetsFullSheet; -import com.android.launcher3.widget.picker.WidgetsRecyclerView; import org.junit.After; import org.junit.Before; @@ -122,10 +114,6 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest { return launcher.getWorkspace().getCurrentPage(); } - private WidgetsRecyclerView getWidgetsView(Launcher launcher) { - return WidgetsFullSheet.getWidgetsView(launcher); - } - @Test public void testDevicePressMenu() throws Exception { mDevice.pressMenu(); @@ -208,42 +196,6 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest { runIconLaunchFromAllAppsTest(this, allApps); } - @Test - @Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/293191790 - @ScreenRecord - @PortraitLandscape - public void testWidgets() throws Exception { - // Test opening widgets. - executeOnLauncher(launcher -> - assertTrue("Widgets is initially opened", getWidgetsView(launcher) == null)); - Widgets widgets = mLauncher.getWorkspace().openAllWidgets(); - assertNotNull("openAllWidgets() returned null", widgets); - widgets = mLauncher.getAllWidgets(); - assertNotNull("getAllWidgets() returned null", widgets); - executeOnLauncher(launcher -> - assertTrue("Widgets is not shown", getWidgetsView(launcher).isShown())); - executeOnLauncher(launcher -> assertEquals("Widgets is scrolled upon opening", - 0, getWidgetsScroll(launcher))); - - // Test flinging widgets. - widgets.flingForward(); - Integer flingForwardY = getFromLauncher(launcher -> getWidgetsScroll(launcher)); - executeOnLauncher(launcher -> assertTrue("Flinging forward didn't scroll widgets", - flingForwardY > 0)); - - widgets.flingBackward(); - executeOnLauncher(launcher -> assertTrue("Flinging backward didn't scroll widgets", - getWidgetsScroll(launcher) < flingForwardY)); - - mLauncher.goHome(); - waitForLauncherCondition("Widgets were not closed", - launcher -> getWidgetsView(launcher) == null); - } - - private int getWidgetsScroll(Launcher launcher) { - return getWidgetsView(launcher).computeVerticalScrollOffset(); - } - @FlakyTest(bugId = 256615483) @Test @PortraitLandscape diff --git a/tests/src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java b/tests/src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java new file mode 100644 index 0000000000..a5e986833d --- /dev/null +++ b/tests/src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.launcher3.ui.widget; + +import static com.android.launcher3.ui.TaplTestsLauncher3.initialize; +import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL; +import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import com.android.launcher3.Launcher; +import com.android.launcher3.tapl.Widgets; +import com.android.launcher3.ui.AbstractLauncherUiTest; +import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape; +import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord; +import com.android.launcher3.util.rule.TestStabilityRule.Stability; +import com.android.launcher3.widget.picker.WidgetsFullSheet; +import com.android.launcher3.widget.picker.WidgetsRecyclerView; + +import org.junit.Before; +import org.junit.Test; + +/** + * This test run in both Out of process (Oop) and in-process (Ipc). + * Make sure the basic interactions with the WidgetPicker works. + */ +public class TaplWidgetPickerTest extends AbstractLauncherUiTest { + + @Before + public void setUp() throws Exception { + super.setUp(); + initialize(this); + } + + private WidgetsRecyclerView getWidgetsView(Launcher launcher) { + return WidgetsFullSheet.getWidgetsView(launcher); + } + + private int getWidgetsScroll(Launcher launcher) { + return getWidgetsView(launcher).computeVerticalScrollOffset(); + } + + /** + * Open Widget picker, make sure the widget picker can scroll and then go to home screen. + */ + @Test + @Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/293191790 + @ScreenRecord + @PortraitLandscape + public void testWidgets() { + // Test opening widgets. + executeOnLauncher(launcher -> + assertTrue("Widgets is initially opened", getWidgetsView(launcher) == null)); + Widgets widgets = mLauncher.getWorkspace().openAllWidgets(); + assertNotNull("openAllWidgets() returned null", widgets); + widgets = mLauncher.getAllWidgets(); + assertNotNull("getAllWidgets() returned null", widgets); + executeOnLauncher(launcher -> + assertTrue("Widgets is not shown", getWidgetsView(launcher).isShown())); + executeOnLauncher(launcher -> assertEquals("Widgets is scrolled upon opening", + 0, getWidgetsScroll(launcher))); + + // Test flinging widgets. + widgets.flingForward(); + Integer flingForwardY = getFromLauncher(launcher -> getWidgetsScroll(launcher)); + executeOnLauncher(launcher -> assertTrue("Flinging forward didn't scroll widgets", + flingForwardY > 0)); + + widgets.flingBackward(); + executeOnLauncher(launcher -> assertTrue("Flinging backward didn't scroll widgets", + getWidgetsScroll(launcher) < flingForwardY)); + + mLauncher.goHome(); + waitForLauncherCondition("Widgets were not closed", + launcher -> getWidgetsView(launcher) == null); + } +}