Commit 2966f7dc authored by Theresa Sullivan's avatar Theresa Sullivan Committed by Chromium LUCI CQ

Re-enable TabbedAppMenuTest#testKeyboardMenuEnterOnTopItemLandscape

Use ActivityUtils#rotateActivityToOrientation (extracted from
TabUiTestHelper) to wait for the orientation change to complete before
proceeding with the rest of the test.

Bug: 945861
Change-Id: I75f897a62fa98d28eae1594fcc9a4d4391e6fae7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2645347Reviewed-by: default avatarYue Zhang <yuezhanggg@chromium.org>
Commit-Queue: Theresa  <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#846384}
parent 44b4d7f3
...@@ -41,7 +41,6 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.f ...@@ -41,7 +41,6 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.f
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.getSwipeToDismissAction; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.getSwipeToDismissAction;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.leaveTabSwitcher; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.leaveTabSwitcher;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.mergeAllNormalTabsToAGroup; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.mergeAllNormalTabsToAGroup;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.rotateDeviceToOrientation;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.switchTabModel; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.switchTabModel;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabModelTabCount; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabModelTabCount;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount;
...@@ -49,7 +48,6 @@ import static org.chromium.chrome.test.util.ViewUtils.onViewWaiting; ...@@ -49,7 +48,6 @@ import static org.chromium.chrome.test.util.ViewUtils.onViewWaiting;
import static org.chromium.chrome.test.util.ViewUtils.waitForView; import static org.chromium.chrome.test.util.ViewUtils.waitForView;
import static org.chromium.components.embedder_support.util.UrlConstants.NTP_URL; import static org.chromium.components.embedder_support.util.UrlConstants.NTP_URL;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
...@@ -224,8 +222,7 @@ public class StartSurfaceLayoutTest { ...@@ -224,8 +222,7 @@ public class StartSurfaceLayoutTest {
@After @After
public void tearDown() { public void tearDown() {
mActivityTestRule.getActivity().setRequestedOrientation( ActivityUtils.clearActivityOrientation(mActivityTestRule.getActivity());
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
TestThreadUtils.runOnUiThreadBlocking( TestThreadUtils.runOnUiThreadBlocking(
ChromeNightModeTestUtils::tearDownNightModeAfterChromeActivityDestroyed); ChromeNightModeTestUtils::tearDownNightModeAfterChromeActivityDestroyed);
TestThreadUtils.runOnUiThreadBlocking( TestThreadUtils.runOnUiThreadBlocking(
...@@ -1009,12 +1006,12 @@ public class StartSurfaceLayoutTest { ...@@ -1009,12 +1006,12 @@ public class StartSurfaceLayoutTest {
CriteriaHelper.pollUiThread(TabSwitcherCoordinator::hasAppendedMessagesForTesting); CriteriaHelper.pollUiThread(TabSwitcherCoordinator::hasAppendedMessagesForTesting);
// Force portrait mode since the device can be wrongly in landscape. See crbug/1063639. // Force portrait mode since the device can be wrongly in landscape. See crbug/1063639.
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_PORTRAIT); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_PORTRAIT);
onView(withId(R.id.tab_list_view)) onView(withId(R.id.tab_list_view))
.check(MessageCardWidthAssertion.checkMessageItemSpanSize(3, 2)); .check(MessageCardWidthAssertion.checkMessageItemSpanSize(3, 2));
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
onView(withId(R.id.tab_list_view)) onView(withId(R.id.tab_list_view))
.check(MessageCardWidthAssertion.checkMessageItemSpanSize(3, 3)); .check(MessageCardWidthAssertion.checkMessageItemSpanSize(3, 3));
......
...@@ -20,9 +20,7 @@ import static org.junit.Assert.assertFalse; ...@@ -20,9 +20,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.enterTabSwitcher; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.enterTabSwitcher;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.rotateDeviceToOrientation;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.support.test.InstrumentationRegistry; import android.support.test.InstrumentationRegistry;
import android.support.test.uiautomator.UiDevice; import android.support.test.uiautomator.UiDevice;
...@@ -48,6 +46,7 @@ import org.chromium.chrome.browser.flags.ChromeSwitches; ...@@ -48,6 +46,7 @@ import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.tab_ui.R; import org.chromium.chrome.tab_ui.R;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.util.ActivityUtils;
import org.chromium.chrome.test.util.ChromeRenderTestRule; import org.chromium.chrome.test.util.ChromeRenderTestRule;
import org.chromium.chrome.test.util.MenuUtils; import org.chromium.chrome.test.util.MenuUtils;
import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features;
...@@ -91,8 +90,7 @@ public class PriceTrackingDialogTest { ...@@ -91,8 +90,7 @@ public class PriceTrackingDialogTest {
@After @After
public void tearDown() { public void tearDown() {
mActivityTestRule.getActivity().setRequestedOrientation( ActivityUtils.clearActivityOrientation(mActivityTestRule.getActivity());
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
} }
@Test @Test
...@@ -184,7 +182,7 @@ public class PriceTrackingDialogTest { ...@@ -184,7 +182,7 @@ public class PriceTrackingDialogTest {
public void testRenderPriceTrackingDialog_Landscape() throws IOException { public void testRenderPriceTrackingDialog_Landscape() throws IOException {
final ChromeTabbedActivity cta = mActivityTestRule.getActivity(); final ChromeTabbedActivity cta = mActivityTestRule.getActivity();
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
MenuUtils.invokeCustomMenuActionSync( MenuUtils.invokeCustomMenuActionSync(
InstrumentationRegistry.getInstrumentation(), cta, R.id.track_prices_row_menu_id); InstrumentationRegistry.getInstrumentation(), cta, R.id.track_prices_row_menu_id);
verifyDialogShowing(cta); verifyDialogShowing(cta);
......
...@@ -15,11 +15,9 @@ import static org.junit.Assert.assertTrue; ...@@ -15,11 +15,9 @@ import static org.junit.Assert.assertTrue;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.createTabs; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.createTabs;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.enterTabSwitcher; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.enterTabSwitcher;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.rotateDeviceToOrientation;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount;
import android.content.Context; import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.util.Pair; import android.util.Pair;
import android.view.View; import android.view.View;
...@@ -46,6 +44,7 @@ import org.chromium.chrome.features.start_surface.StartSurfaceLayout; ...@@ -46,6 +44,7 @@ import org.chromium.chrome.features.start_surface.StartSurfaceLayout;
import org.chromium.chrome.tab_ui.R; import org.chromium.chrome.tab_ui.R;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.util.ActivityUtils;
import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features;
import org.chromium.ui.test.util.UiRestriction; import org.chromium.ui.test.util.UiRestriction;
...@@ -88,8 +87,7 @@ public class TabGridAccessibilityHelperTest { ...@@ -88,8 +87,7 @@ public class TabGridAccessibilityHelperTest {
@After @After
public void tearDown() { public void tearDown() {
mActivityTestRule.getActivity().setRequestedOrientation( ActivityUtils.clearActivityOrientation(mActivityTestRule.getActivity());
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
} }
@Test @Test
...@@ -142,7 +140,7 @@ public class TabGridAccessibilityHelperTest { ...@@ -142,7 +140,7 @@ public class TabGridAccessibilityHelperTest {
new ArrayList<>(Arrays.asList(TabMovementDirection.UP))); new ArrayList<>(Arrays.asList(TabMovementDirection.UP)));
}); });
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
// Verify action list in landscape mode with span count = 3. // Verify action list in landscape mode with span count = 3.
onView(allOf(withParent(withId(R.id.compositor_view_holder)), withId(R.id.tab_list_view))) onView(allOf(withParent(withId(R.id.compositor_view_holder)), withId(R.id.tab_list_view)))
...@@ -222,7 +220,7 @@ public class TabGridAccessibilityHelperTest { ...@@ -222,7 +220,7 @@ public class TabGridAccessibilityHelperTest {
assertEquals(1, (int) positions.second); assertEquals(1, (int) positions.second);
}); });
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
onView(allOf(withParent(withId(R.id.compositor_view_holder)), withId(R.id.tab_list_view))) onView(allOf(withParent(withId(R.id.compositor_view_holder)), withId(R.id.tab_list_view)))
.check((v, noMatchingViewException) -> { .check((v, noMatchingViewException) -> {
......
...@@ -47,7 +47,6 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.f ...@@ -47,7 +47,6 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.f
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.getSwipeToDismissAction; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.getSwipeToDismissAction;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.mergeAllNormalTabsToAGroup; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.mergeAllNormalTabsToAGroup;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.prepareTabsWithThumbnail; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.prepareTabsWithThumbnail;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.rotateDeviceToOrientation;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyAllTabsHaveThumbnail; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyAllTabsHaveThumbnail;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabStripFaviconCount; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabStripFaviconCount;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount;
...@@ -57,7 +56,6 @@ import static org.chromium.chrome.test.util.ViewUtils.onViewWaiting; ...@@ -57,7 +56,6 @@ import static org.chromium.chrome.test.util.ViewUtils.onViewWaiting;
import static org.chromium.chrome.test.util.ViewUtils.waitForView; import static org.chromium.chrome.test.util.ViewUtils.waitForView;
import android.content.Intent; import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Rect; import android.graphics.Rect;
...@@ -106,6 +104,7 @@ import org.chromium.chrome.features.start_surface.StartSurfaceLayout; ...@@ -106,6 +104,7 @@ import org.chromium.chrome.features.start_surface.StartSurfaceLayout;
import org.chromium.chrome.tab_ui.R; import org.chromium.chrome.tab_ui.R;
import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate; import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.util.ActivityUtils;
import org.chromium.chrome.test.util.ChromeRenderTestRule; import org.chromium.chrome.test.util.ChromeRenderTestRule;
import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features;
import org.chromium.chrome.test.util.browser.Features.EnableFeatures; import org.chromium.chrome.test.util.browser.Features.EnableFeatures;
...@@ -173,8 +172,7 @@ public class TabGridDialogTest { ...@@ -173,8 +172,7 @@ public class TabGridDialogTest {
@After @After
public void tearDown() { public void tearDown() {
TabUiFeatureUtilities.setTabManagementModuleSupportedForTesting(null); TabUiFeatureUtilities.setTabManagementModuleSupportedForTesting(null);
mActivityTestRule.getActivity().setRequestedOrientation( ActivityUtils.clearActivityOrientation(mActivityTestRule.getActivity());
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
} }
@Test @Test
...@@ -563,7 +561,7 @@ public class TabGridDialogTest { ...@@ -563,7 +561,7 @@ public class TabGridDialogTest {
checkPosition(cta, false, true); checkPosition(cta, false, true);
// Verify the size and position of TabSelectionEditor in landscape mode. // Verify the size and position of TabSelectionEditor in landscape mode.
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
CriteriaHelper.pollUiThread(() -> parentView.getHeight() < parentView.getWidth()); CriteriaHelper.pollUiThread(() -> parentView.getHeight() < parentView.getWidth());
checkPosition(cta, false, false); checkPosition(cta, false, false);
...@@ -575,7 +573,7 @@ public class TabGridDialogTest { ...@@ -575,7 +573,7 @@ public class TabGridDialogTest {
// Verify the positioning in multi-window mode. Adjusting the height of the root view to // Verify the positioning in multi-window mode. Adjusting the height of the root view to
// mock entering/exiting multi-window mode. // mock entering/exiting multi-window mode.
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_PORTRAIT); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_PORTRAIT);
CriteriaHelper.pollUiThread(() -> parentView.getHeight() > parentView.getWidth()); CriteriaHelper.pollUiThread(() -> parentView.getHeight() > parentView.getWidth());
View rootView = cta.findViewById(R.id.coordinator); View rootView = cta.findViewById(R.id.coordinator);
int rootViewHeight = rootView.getHeight(); int rootViewHeight = rootView.getHeight();
...@@ -721,7 +719,7 @@ public class TabGridDialogTest { ...@@ -721,7 +719,7 @@ public class TabGridDialogTest {
verifyAllTabsHaveThumbnail(cta.getCurrentTabModel()); verifyAllTabsHaveThumbnail(cta.getCurrentTabModel());
// Rotate to landscape mode and create a tab group. // Rotate to landscape mode and create a tab group.
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
mergeAllNormalTabsToAGroup(cta); mergeAllNormalTabsToAGroup(cta);
verifyTabSwitcherCardCount(cta, 1); verifyTabSwitcherCardCount(cta, 1);
openDialogFromTabSwitcherAndVerify(cta, 3, null); openDialogFromTabSwitcherAndVerify(cta, 3, null);
......
...@@ -25,11 +25,9 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.c ...@@ -25,11 +25,9 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.c
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.closeFirstTabInTabSwitcher; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.closeFirstTabInTabSwitcher;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.enterTabSwitcher; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.enterTabSwitcher;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.getSwipeToDismissAction; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.getSwipeToDismissAction;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.rotateDeviceToOrientation;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount;
import static org.chromium.chrome.test.util.ViewUtils.onViewWaiting; import static org.chromium.chrome.test.util.ViewUtils.onViewWaiting;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.graphics.drawable.Animatable; import android.graphics.drawable.Animatable;
import android.support.test.InstrumentationRegistry; import android.support.test.InstrumentationRegistry;
...@@ -63,6 +61,7 @@ import org.chromium.chrome.features.start_surface.StartSurfaceLayout; ...@@ -63,6 +61,7 @@ import org.chromium.chrome.features.start_surface.StartSurfaceLayout;
import org.chromium.chrome.tab_ui.R; import org.chromium.chrome.tab_ui.R;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.util.ActivityUtils;
import org.chromium.chrome.test.util.ChromeRenderTestRule; import org.chromium.chrome.test.util.ChromeRenderTestRule;
import org.chromium.chrome.test.util.ChromeTabUtils; import org.chromium.chrome.test.util.ChromeTabUtils;
import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features;
...@@ -120,8 +119,7 @@ public class TabGridIphTest { ...@@ -120,8 +119,7 @@ public class TabGridIphTest {
@After @After
public void tearDown() { public void tearDown() {
mActivityTestRule.getActivity().setRequestedOrientation( ActivityUtils.clearActivityOrientation(mActivityTestRule.getActivity());
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
} }
@Test @Test
...@@ -225,7 +223,7 @@ public class TabGridIphTest { ...@@ -225,7 +223,7 @@ public class TabGridIphTest {
ChromeTabbedActivity cta = mActivityTestRule.getActivity(); ChromeTabbedActivity cta = mActivityTestRule.getActivity();
enterTabSwitcher(cta); enterTabSwitcher(cta);
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
CriteriaHelper.pollUiThread( CriteriaHelper.pollUiThread(
TabSwitcherCoordinator::hasAppendedMessagesForTesting); TabSwitcherCoordinator::hasAppendedMessagesForTesting);
onView(withId(R.id.tab_grid_message_item)).check(matches(isDisplayed())); onView(withId(R.id.tab_grid_message_item)).check(matches(isDisplayed()));
...@@ -264,7 +262,7 @@ public class TabGridIphTest { ...@@ -264,7 +262,7 @@ public class TabGridIphTest {
ChromeTabbedActivity cta = mActivityTestRule.getActivity(); ChromeTabbedActivity cta = mActivityTestRule.getActivity();
enterTabSwitcher(cta); enterTabSwitcher(cta);
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
CriteriaHelper.pollUiThread(TabSwitcherCoordinator::hasAppendedMessagesForTesting); CriteriaHelper.pollUiThread(TabSwitcherCoordinator::hasAppendedMessagesForTesting);
// Scroll to the position of the IPH entrance so that it is completely showing for Espresso // Scroll to the position of the IPH entrance so that it is completely showing for Espresso
// click. // click.
......
...@@ -28,8 +28,6 @@ import static org.chromium.base.test.util.CriteriaHelper.DEFAULT_POLLING_INTERVA ...@@ -28,8 +28,6 @@ import static org.chromium.base.test.util.CriteriaHelper.DEFAULT_POLLING_INTERVA
import static org.chromium.components.browser_ui.widget.RecyclerViewTestUtils.waitForStableRecyclerView; import static org.chromium.components.browser_ui.widget.RecyclerViewTestUtils.waitForStableRecyclerView;
import android.app.Activity; import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.provider.Settings; import android.provider.Settings;
import android.support.test.InstrumentationRegistry; import android.support.test.InstrumentationRegistry;
import android.view.View; import android.view.View;
...@@ -393,24 +391,6 @@ public class TabUiTestHelper { ...@@ -393,24 +391,6 @@ public class TabUiTestHelper {
return new OverviewModeBehaviorWatcher(cta.getLayoutManager(), false, true); return new OverviewModeBehaviorWatcher(cta.getLayoutManager(), false, true);
} }
/**
* Rotate device to the target orientation. Do nothing if the screen is already in that
* orientation.
* @param cta The current running activity.
* @param orientation The target orientation we want the screen to rotate to.
*/
public static void rotateDeviceToOrientation(ChromeTabbedActivity cta, int orientation) {
if (cta.getResources().getConfiguration().orientation == orientation) return;
assertTrue(orientation == Configuration.ORIENTATION_LANDSCAPE
|| orientation == Configuration.ORIENTATION_PORTRAIT);
cta.setRequestedOrientation(orientation == Configuration.ORIENTATION_LANDSCAPE
? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
: ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
CriteriaHelper.pollUiThread(() -> {
Criteria.checkThat(cta.getResources().getConfiguration().orientation, is(orientation));
});
}
/** /**
* @return whether animators are enabled on device by checking whether the animation duration * @return whether animators are enabled on device by checking whether the animation duration
* scale is set to 0.0. * scale is set to 0.0.
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
package org.chromium.chrome.browser.app.appmenu; package org.chromium.chrome.browser.app.appmenu;
import android.content.pm.ActivityInfo; import android.content.res.Configuration;
import android.support.test.InstrumentationRegistry; import android.support.test.InstrumentationRegistry;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.Menu; import android.view.Menu;
...@@ -17,6 +17,7 @@ import android.widget.TextView; ...@@ -17,6 +17,7 @@ import android.widget.TextView;
import androidx.test.filters.SmallTest; import androidx.test.filters.SmallTest;
import org.hamcrest.Matchers; import org.hamcrest.Matchers;
import org.junit.After;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
...@@ -29,7 +30,6 @@ import org.chromium.base.test.util.CallbackHelper; ...@@ -29,7 +30,6 @@ import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags; import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Criteria; import org.chromium.base.test.util.Criteria;
import org.chromium.base.test.util.CriteriaHelper; import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.DisabledTest;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.Restriction; import org.chromium.base.test.util.Restriction;
import org.chromium.base.test.util.UrlUtils; import org.chromium.base.test.util.UrlUtils;
...@@ -45,6 +45,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler; ...@@ -45,6 +45,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler;
import org.chromium.chrome.browser.ui.appmenu.AppMenuTestSupport; import org.chromium.chrome.browser.ui.appmenu.AppMenuTestSupport;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.util.ActivityUtils;
import org.chromium.chrome.test.util.ChromeRenderTestRule; import org.chromium.chrome.test.util.ChromeRenderTestRule;
import org.chromium.chrome.test.util.ChromeTabUtils; import org.chromium.chrome.test.util.ChromeTabUtils;
import org.chromium.chrome.test.util.browser.Features.DisableFeatures; import org.chromium.chrome.test.util.browser.Features.DisableFeatures;
...@@ -99,6 +100,11 @@ public class TabbedAppMenuTest { ...@@ -99,6 +100,11 @@ public class TabbedAppMenuTest {
InstrumentationRegistry.getInstrumentation().waitForIdleSync(); InstrumentationRegistry.getInstrumentation().waitForIdleSync();
} }
@After
public void tearDown() {
ActivityUtils.clearActivityOrientation(mActivityTestRule.getActivity());
}
/** /**
* Verify opening a new tab from the menu. * Verify opening a new tab from the menu.
*/ */
...@@ -169,15 +175,12 @@ public class TabbedAppMenuTest { ...@@ -169,15 +175,12 @@ public class TabbedAppMenuTest {
* Test that hitting ENTER on the top item actually triggers the top item. * Test that hitting ENTER on the top item actually triggers the top item.
* Catches regressions for https://crbug.com/191239 for shrunken menus. * Catches regressions for https://crbug.com/191239 for shrunken menus.
*/ */
/*
@SmallTest @SmallTest
@Feature({"Browser", "Main"}) @Feature({"Browser", "Main"})
*/
@Test @Test
@DisabledTest(message = "crbug.com/945861")
public void testKeyboardMenuEnterOnTopItemLandscape() { public void testKeyboardMenuEnterOnTopItemLandscape() {
mActivityTestRule.getActivity().setRequestedOrientation( ActivityUtils.rotateActivityToOrientation(
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); mActivityTestRule.getActivity(), Configuration.ORIENTATION_LANDSCAPE);
showAppMenuAndAssertMenuShown(); showAppMenuAndAssertMenuShown();
moveToBoundary(true, false); moveToBoundary(true, false);
Assert.assertEquals(0, getCurrentFocusedRow()); Assert.assertEquals(0, getCurrentFocusedRow());
...@@ -191,8 +194,8 @@ public class TabbedAppMenuTest { ...@@ -191,8 +194,8 @@ public class TabbedAppMenuTest {
@SmallTest @SmallTest
@Feature({"Browser", "Main"}) @Feature({"Browser", "Main"})
public void testKeyboardMenuEnterOnTopItemPortrait() { public void testKeyboardMenuEnterOnTopItemPortrait() {
mActivityTestRule.getActivity().setRequestedOrientation( ActivityUtils.rotateActivityToOrientation(
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); mActivityTestRule.getActivity(), Configuration.ORIENTATION_PORTRAIT);
showAppMenuAndAssertMenuShown(); showAppMenuAndAssertMenuShown();
moveToBoundary(true, false); moveToBoundary(true, false);
Assert.assertEquals(0, getCurrentFocusedRow()); Assert.assertEquals(0, getCurrentFocusedRow());
......
...@@ -7,7 +7,6 @@ package org.chromium.chrome.browser.toolbar.top; ...@@ -7,7 +7,6 @@ package org.chromium.chrome.browser.toolbar.top;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.enterTabSwitcher; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.enterTabSwitcher;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.rotateDeviceToOrientation;
import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount; import static org.chromium.chrome.browser.tasks.tab_management.TabUiTestHelper.verifyTabSwitcherCardCount;
import static org.chromium.chrome.test.util.ToolbarTestUtils.TAB_SWITCHER_TOOLBAR; import static org.chromium.chrome.test.util.ToolbarTestUtils.TAB_SWITCHER_TOOLBAR;
import static org.chromium.chrome.test.util.ToolbarTestUtils.TAB_SWITCHER_TOOLBAR_MENU; import static org.chromium.chrome.test.util.ToolbarTestUtils.TAB_SWITCHER_TOOLBAR_MENU;
...@@ -15,7 +14,6 @@ import static org.chromium.chrome.test.util.ToolbarTestUtils.TAB_SWITCHER_TOOLBA ...@@ -15,7 +14,6 @@ import static org.chromium.chrome.test.util.ToolbarTestUtils.TAB_SWITCHER_TOOLBA
import static org.chromium.chrome.test.util.ToolbarTestUtils.TAB_SWITCHER_TOOLBAR_NEW_TAB_VARIATION; import static org.chromium.chrome.test.util.ToolbarTestUtils.TAB_SWITCHER_TOOLBAR_NEW_TAB_VARIATION;
import static org.chromium.chrome.test.util.ToolbarTestUtils.checkToolbarButtonVisibility; import static org.chromium.chrome.test.util.ToolbarTestUtils.checkToolbarButtonVisibility;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration; import android.content.res.Configuration;
import androidx.test.filters.MediumTest; import androidx.test.filters.MediumTest;
...@@ -37,6 +35,7 @@ import org.chromium.chrome.browser.incognito.IncognitoUtils; ...@@ -37,6 +35,7 @@ import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.features.start_surface.StartSurfaceLayout; import org.chromium.chrome.features.start_surface.StartSurfaceLayout;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.util.ActivityUtils;
import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features;
import org.chromium.ui.test.util.UiRestriction; import org.chromium.ui.test.util.UiRestriction;
...@@ -60,8 +59,7 @@ public class AdaptiveToolbarTest { ...@@ -60,8 +59,7 @@ public class AdaptiveToolbarTest {
@After @After
public void tearDown() { public void tearDown() {
CachedFeatureFlags.setForTesting(ChromeFeatureList.TAB_GRID_LAYOUT_ANDROID, null); CachedFeatureFlags.setForTesting(ChromeFeatureList.TAB_GRID_LAYOUT_ANDROID, null);
mActivityTestRule.getActivity().setRequestedOrientation( ActivityUtils.clearActivityOrientation(mActivityTestRule.getActivity());
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
} }
private void setupFlagsAndLaunchActivity(boolean isGridTabSwitcherEnabled) { private void setupFlagsAndLaunchActivity(boolean isGridTabSwitcherEnabled) {
...@@ -89,7 +87,7 @@ public class AdaptiveToolbarTest { ...@@ -89,7 +87,7 @@ public class AdaptiveToolbarTest {
checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_MENU, true); checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_MENU, true);
checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB, true); checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB, true);
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_MENU, true); checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_MENU, true);
checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB, true); checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB, true);
...@@ -114,7 +112,7 @@ public class AdaptiveToolbarTest { ...@@ -114,7 +112,7 @@ public class AdaptiveToolbarTest {
TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB_VARIATION, true); TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB_VARIATION, true);
checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB, false); checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB, false);
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_MENU, true); checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_MENU, true);
checkToolbarButtonVisibility( checkToolbarButtonVisibility(
...@@ -142,7 +140,7 @@ public class AdaptiveToolbarTest { ...@@ -142,7 +140,7 @@ public class AdaptiveToolbarTest {
TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB_VARIATION, false); TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB_VARIATION, false);
checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB, true); checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_NEW_TAB, true);
rotateDeviceToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE); ActivityUtils.rotateActivityToOrientation(cta, Configuration.ORIENTATION_LANDSCAPE);
checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_MENU, true); checkToolbarButtonVisibility(TAB_SWITCHER_TOOLBAR, TAB_SWITCHER_TOOLBAR_MENU, true);
checkToolbarButtonVisibility( checkToolbarButtonVisibility(
......
...@@ -4,11 +4,16 @@ ...@@ -4,11 +4,16 @@
package org.chromium.chrome.test.util; package org.chromium.chrome.test.util;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertTrue;
import android.app.Activity; import android.app.Activity;
import android.app.Instrumentation; import android.app.Instrumentation;
import android.app.Instrumentation.ActivityMonitor; import android.app.Instrumentation.ActivityMonitor;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
...@@ -193,4 +198,37 @@ public class ActivityUtils { ...@@ -193,4 +198,37 @@ public class ActivityUtils {
}, ACTIVITY_START_TIMEOUT_MS, CONDITION_POLL_INTERVAL_MS); }, ACTIVITY_START_TIMEOUT_MS, CONDITION_POLL_INTERVAL_MS);
return (T) activity.getMainFragment(); return (T) activity.getMainFragment();
} }
/**
* Rotate device to the target orientation. Do nothing if the screen is already in that
* orientation. As a best practice, unset orientation in teardown using
* {@link #clearActivityOrientation(Activity)}.
*
* @param activity The activity on which to set requested orientation.
* @param orientation The target orientation we want the screen to rotate to. Expects one of
* either {@link Configuration#ORIENTATION_LANDSCAPE} or
* {@link Configuration#ORIENTATION_PORTRAIT}.
*/
public static void rotateActivityToOrientation(Activity activity, int orientation) {
if (activity.getResources().getConfiguration().orientation == orientation) return;
assertTrue("Incorrect orientation supplied.",
orientation == Configuration.ORIENTATION_LANDSCAPE
|| orientation == Configuration.ORIENTATION_PORTRAIT);
activity.setRequestedOrientation(orientation == Configuration.ORIENTATION_LANDSCAPE
? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
: ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
CriteriaHelper.pollUiThread(() -> {
Criteria.checkThat(
activity.getResources().getConfiguration().orientation, is(orientation));
});
}
/**
* Clear the requested orientation on the given activity (by setting it to unspecified).
*
* @param activity The activity on which to clear requested orientation.
*/
public static void clearActivityOrientation(Activity activity) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment