diff options
Diffstat (limited to 'tests/src/com/android/launcher3/ui/AddWidgetTest.java')
-rw-r--r-- | tests/src/com/android/launcher3/ui/AddWidgetTest.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/src/com/android/launcher3/ui/AddWidgetTest.java b/tests/src/com/android/launcher3/ui/AddWidgetTest.java new file mode 100644 index 000000000..95d9289dd --- /dev/null +++ b/tests/src/com/android/launcher3/ui/AddWidgetTest.java @@ -0,0 +1,64 @@ +package com.android.launcher3.ui; + +import android.support.test.uiautomator.By; +import android.support.test.uiautomator.UiObject2; +import android.test.suitebuilder.annotation.LargeTest; +import android.view.View; + +import com.android.launcher3.CellLayout; +import com.android.launcher3.ItemInfo; +import com.android.launcher3.Launcher; +import com.android.launcher3.LauncherAppWidgetInfo; +import com.android.launcher3.LauncherAppWidgetProviderInfo; +import com.android.launcher3.Workspace.ItemOperator; +import com.android.launcher3.util.Condition; +import com.android.launcher3.util.Wait; +import com.android.launcher3.widget.WidgetCell; + +/** + * Test to add widget from widget tray + */ +@LargeTest +public class AddWidgetTest extends LauncherInstrumentationTestCase { + + private LauncherAppWidgetProviderInfo widgetInfo; + + @Override + protected void setUp() throws Exception { + super.setUp(); + + widgetInfo = findWidgetProvider(false /* hasConfigureScreen */); + } + + public void testDragIcon_portrait() throws Throwable { + lockRotation(true); + performTest(); + } + + public void testDragIcon_landscape() throws Throwable { + lockRotation(false); + performTest(); + } + + private void performTest() throws Throwable { + clearHomescreen(); + Launcher launcher = startLauncher(); + + // Open all apps and wait for load complete. + final UiObject2 widgetContainer = openWidgetsTray(); + assertTrue(Wait.atMost(Condition.minChildCount(widgetContainer, 2), DEFAULT_UI_TIMEOUT)); + + // Drag widget to homescreen + UiObject2 widget = scrollAndFind(widgetContainer, By.clazz(WidgetCell.class) + .hasDescendant(By.text(widgetInfo.getLabel(mTargetContext.getPackageManager())))); + dragToWorkspace(widget); + + assertNotNull(launcher.getWorkspace().getFirstMatch(new ItemOperator() { + @Override + public boolean evaluate(ItemInfo info, View view) { + return info instanceof LauncherAppWidgetInfo && + ((LauncherAppWidgetInfo) info).providerName.equals(widgetInfo.provider); + } + })); + } +} |