Commit 7d27055f authored by Matt Giuca's avatar Matt Giuca Committed by Chromium LUCI CQ

Parameterize test WebAppFrameToolbarInteractiveUITest.CycleFocus.

This test has different expectations depending on whether the
DesktopPWAsElidedExtensionsMenu feature is enabled.

Previously, the test would fail if that feature was enabled.

Bug: 1155421
Change-Id: I0ea5b20db2d7731066541cfdab244a6c06aa7fe8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2620743Reviewed-by: default avatarAlan Cutter <alancutter@chromium.org>
Commit-Queue: Matt Giuca <mgiuca@chromium.org>
Cr-Commit-Position: refs/heads/master@{#841937}
parent 22432d17
......@@ -13,6 +13,7 @@
#include "chrome/browser/ui/views/web_apps/frame_toolbar/web_app_frame_toolbar_test_helper.h"
#include "chrome/browser/ui/views/web_apps/frame_toolbar/web_app_frame_toolbar_view.h"
#include "chrome/browser/ui/web_applications/test/web_app_browsertest_util.h"
#include "chrome/common/chrome_features.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/interactive_test_utils.h"
#include "content/public/test/browser_test.h"
......@@ -21,23 +22,32 @@
#include "ui/views/view.h"
#include "url/gurl.h"
// Param: DesktopPWAsElidedExtensionsMenu feature.
class WebAppFrameToolbarInteractiveUITest
: public extensions::ExtensionBrowserTest {
: public extensions::ExtensionBrowserTest,
public testing::WithParamInterface<bool> {
public:
WebAppFrameToolbarInteractiveUITest() = default;
WebAppFrameToolbarInteractiveUITest() {
feature_list_.InitWithFeatureState(
::features::kDesktopPWAsElidedExtensionsMenu, IsExtensionsMenuElided());
}
WebAppFrameToolbarTestHelper* helper() {
return &web_app_frame_toolbar_helper_;
}
protected:
bool IsExtensionsMenuElided() const { return GetParam(); }
private:
WebAppFrameToolbarTestHelper web_app_frame_toolbar_helper_;
base::test::ScopedFeatureList feature_list_;
};
// Verifies that for minimal-ui web apps, the toolbar keyboard focus cycles
// among the toolbar buttons: the reload button, the extensions menu button, and
// the app menu button, in that order.
IN_PROC_BROWSER_TEST_F(WebAppFrameToolbarInteractiveUITest, CycleFocus) {
IN_PROC_BROWSER_TEST_P(WebAppFrameToolbarInteractiveUITest, CycleFocus) {
ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("simple_with_icon/")));
const GURL app_url("https://test.org");
......@@ -66,9 +76,11 @@ IN_PROC_BROWSER_TEST_F(WebAppFrameToolbarInteractiveUITest, CycleFocus) {
// Press Tab to cycle through controls until we end up back where we started.
// This approach is similar to ToolbarViewTest::RunToolbarCycleFocusTest().
focus_manager->AdvanceFocus(false);
EXPECT_EQ(focus_manager->GetFocusedView()->GetID(),
VIEW_ID_EXTENSIONS_MENU_BUTTON);
if (!IsExtensionsMenuElided()) {
focus_manager->AdvanceFocus(false);
EXPECT_EQ(focus_manager->GetFocusedView()->GetID(),
VIEW_ID_EXTENSIONS_MENU_BUTTON);
}
focus_manager->AdvanceFocus(false);
EXPECT_EQ(focus_manager->GetFocusedView()->GetID(), VIEW_ID_APP_MENU);
focus_manager->AdvanceFocus(false);
......@@ -77,9 +89,11 @@ IN_PROC_BROWSER_TEST_F(WebAppFrameToolbarInteractiveUITest, CycleFocus) {
// Now press Shift-Tab to cycle backwards.
focus_manager->AdvanceFocus(true);
EXPECT_EQ(focus_manager->GetFocusedView()->GetID(), VIEW_ID_APP_MENU);
focus_manager->AdvanceFocus(true);
EXPECT_EQ(focus_manager->GetFocusedView()->GetID(),
VIEW_ID_EXTENSIONS_MENU_BUTTON);
if (!IsExtensionsMenuElided()) {
focus_manager->AdvanceFocus(true);
EXPECT_EQ(focus_manager->GetFocusedView()->GetID(),
VIEW_ID_EXTENSIONS_MENU_BUTTON);
}
focus_manager->AdvanceFocus(true);
EXPECT_EQ(focus_manager->GetFocusedView()->GetID(), VIEW_ID_RELOAD_BUTTON);
......@@ -90,3 +104,7 @@ IN_PROC_BROWSER_TEST_F(WebAppFrameToolbarInteractiveUITest, CycleFocus) {
IDC_FOCUS_TOOLBAR);
EXPECT_EQ(focus_manager->GetFocusedView()->GetID(), VIEW_ID_BACK_BUTTON);
}
INSTANTIATE_TEST_SUITE_P(All,
WebAppFrameToolbarInteractiveUITest,
::testing::Bool());
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