Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6311)

Unified Diff: chrome/test/interactive_ui/keyboard_access_uitest.cc

Issue 7568002: Move more files from chrome/test to chrome/test/base, part #6 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/interactive_ui/keyboard_access_uitest.cc
===================================================================
--- chrome/test/interactive_ui/keyboard_access_uitest.cc (revision 95314)
+++ chrome/test/interactive_ui/keyboard_access_uitest.cc (working copy)
@@ -1,171 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/test/test_timeouts.h"
-#include "chrome/test/automation/automation_proxy.h"
-#include "chrome/test/automation/browser_proxy.h"
-#include "chrome/test/automation/tab_proxy.h"
-#include "chrome/test/automation/window_proxy.h"
-#include "chrome/test/ui/ui_test.h"
-#include "googleurl/src/gurl.h"
-#include "ui/base/events.h"
-#include "ui/base/keycodes/keyboard_codes.h"
-
-// This functionality currently works on Windows and on Linux when
-// toolkit_views is defined (i.e. for Chrome OS). It's not needed
-// on the Mac, and it's not yet implemented on Linux.
-#if defined(TOOLKIT_VIEWS)
-
-namespace {
-
-class KeyboardAccessTest : public UITest {
- public:
- KeyboardAccessTest() {
- dom_automation_enabled_ = true;
- show_window_ = true;
- }
-
- // Use the keyboard to select "New Tab" from the app menu.
- // This test depends on the fact that there is one menu and that
- // New Tab is the first item in the menu. If the menus change,
- // this test will need to be changed to reflect that.
- //
- // If alternate_key_sequence is true, use "Alt" instead of "F10" to
- // open the menu bar, and "Down" instead of "Enter" to open a menu.
- void TestMenuKeyboardAccess(bool alternate_key_sequence, int modifiers);
-
- DISALLOW_COPY_AND_ASSIGN(KeyboardAccessTest);
-};
-
-void KeyboardAccessTest::TestMenuKeyboardAccess(bool alternate_key_sequence,
- int modifiers) {
- scoped_refptr<BrowserProxy> browser = automation()->GetBrowserWindow(0);
- ASSERT_TRUE(browser.get());
- scoped_refptr<WindowProxy> window = browser->GetWindow();
- ASSERT_TRUE(window.get());
-
- // Navigate to a page in the first tab, which makes sure that focus is
- // set to the browser window.
- scoped_refptr<TabProxy> tab(GetActiveTab());
- ASSERT_TRUE(tab.get());
-
- ASSERT_TRUE(tab->NavigateToURL(GURL("about:")));
-
- // The initial tab index should be 0.
- int tab_index = -1;
- ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index));
- ASSERT_EQ(0, tab_index);
-
- // Get the focused view ID, then press a key to activate the
- // page menu, then wait until the focused view changes.
- int original_view_id = -1;
- ASSERT_TRUE(window->GetFocusedViewID(&original_view_id));
-
- ui::KeyboardCode menu_key =
- alternate_key_sequence ? ui::VKEY_MENU : ui::VKEY_F10;
-#if defined(OS_CHROMEOS)
- // Chrome OS has different function key accelerators, so we always use the
- // menu key there.
- menu_key = ui::VKEY_MENU;
-#endif
- ASSERT_TRUE(window->SimulateOSKeyPress(menu_key, modifiers));
-
- if (modifiers) {
- // Verify Chrome does not move the view focus. We should not move the view
- // focus when typing a menu key with modifier keys, such as shift keys or
- // control keys.
- int new_view_id = -1;
- ASSERT_TRUE(window->GetFocusedViewID(&new_view_id));
- ASSERT_EQ(original_view_id, new_view_id);
- return;
- }
-
- int new_view_id = -1;
- ASSERT_TRUE(window->WaitForFocusedViewIDToChange(
- original_view_id, &new_view_id));
-
- ASSERT_TRUE(browser->StartTrackingPopupMenus());
-
- if (alternate_key_sequence)
- ASSERT_TRUE(window->SimulateOSKeyPress(ui::VKEY_DOWN, 0));
- else
- ASSERT_TRUE(window->SimulateOSKeyPress(ui::VKEY_RETURN, 0));
-
- // Wait until the popup menu actually opens.
- ASSERT_TRUE(browser->WaitForPopupMenuToOpen());
-
- // Press DOWN to select the first item, then RETURN to select it.
- ASSERT_TRUE(window->SimulateOSKeyPress(ui::VKEY_DOWN, 0));
- ASSERT_TRUE(window->SimulateOSKeyPress(ui::VKEY_RETURN, 0));
-
- // Wait for the new tab to appear.
- ASSERT_TRUE(browser->WaitForTabCountToBecome(2));
-
- // Make sure that the new tab index is 1.
- ASSERT_TRUE(browser->GetActiveTabIndex(&tab_index));
- ASSERT_EQ(1, tab_index);
-}
-
-// Disabled, http://crbug.com/62310.
-TEST_F(KeyboardAccessTest, DISABLED_TestMenuKeyboardAccess) {
- TestMenuKeyboardAccess(false, 0);
-}
-
-// Disabled, http://crbug.com/62310.
-TEST_F(KeyboardAccessTest, DISABLED_TestAltMenuKeyboardAccess) {
- TestMenuKeyboardAccess(true, 0);
-}
-
-// Flaky, http://crbug.com/62311.
-TEST_F(KeyboardAccessTest, FLAKY_TestShiftAltMenuKeyboardAccess) {
- TestMenuKeyboardAccess(true, ui::EF_SHIFT_DOWN);
-}
-
-#if defined(OS_CHROMEOS)
-// TODO(isherman): This test times out on ChromeOS. We should merge it with
-// BrowserKeyEventsTest.ReservedAccelerators, but just disable for now.
-#define MAYBE_ReserveKeyboardAccelerators DISABLED_ReserveKeyboardAccelerators
-#else
-// Flaky, http://crbug.com/62311.
-#define MAYBE_ReserveKeyboardAccelerators FLAKY_ReserveKeyboardAccelerators
-#endif
-
-// Test that JavaScript cannot intercept reserved keyboard accelerators like
-// ctrl-t to open a new tab or ctrl-f4 to close a tab.
-TEST_F(KeyboardAccessTest, MAYBE_ReserveKeyboardAccelerators) {
- const std::string kBadPage =
- "<html><script>"
- "document.onkeydown = function() {"
- " event.preventDefault();"
- " return false;"
- "}"
- "</script></html>";
- scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
- ASSERT_TRUE(browser);
- ASSERT_TRUE(browser->AppendTab(GURL("data:text/html," + kBadPage)));
- int tab_count = 0;
- ASSERT_TRUE(browser->GetTabCount(&tab_count));
- ASSERT_EQ(tab_count, 2);
-
- int active_tab = 0;
- ASSERT_TRUE(browser->GetActiveTabIndex(&active_tab));
- ASSERT_EQ(active_tab, 1);
-
- scoped_refptr<WindowProxy> window(browser->GetWindow());
- ASSERT_TRUE(window);
- ASSERT_TRUE(window->SimulateOSKeyPress(
- ui::VKEY_TAB, ui::EF_CONTROL_DOWN));
- ASSERT_TRUE(browser->WaitForTabToBecomeActive(
- 0, TestTimeouts::action_max_timeout_ms()));
-
-#if !defined(OS_MACOSX) // see BrowserWindowCocoa::GetCommandId
- ASSERT_TRUE(browser->ActivateTab(1));
- ASSERT_TRUE(window->SimulateOSKeyPress(ui::VKEY_F4, ui::EF_CONTROL_DOWN));
- ASSERT_TRUE(browser->WaitForTabCountToBecome(1));
-#endif
-}
-
-} // namespace
-
-#endif // defined(TOOLKIT_VIEWS)
« no previous file with comments | « chrome/test/interactive_ui/infobars_uitest.cc ('k') | chrome/test/interactive_ui/mouseleave_interactive_uitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698