summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-27 17:06:17 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-27 17:06:17 +0000
commitaf833ea1b83e71b985c16e5bfa2b348f308871fe (patch)
tree7226d49a61c333566cf6af18f5fc67f6d7437f30
parent57b98939f01c987ee1f46226aad6705f2d11887b (diff)
downloadchromium_src-af833ea1b83e71b985c16e5bfa2b348f308871fe.zip
chromium_src-af833ea1b83e71b985c16e5bfa2b348f308871fe.tar.gz
chromium_src-af833ea1b83e71b985c16e5bfa2b348f308871fe.tar.bz2
Move extension_keybinding_apitest.cc to interactive_ui_tests since 3 out of 4 tests in there use ui_controls to send keys. Those functions only work when the browser is in the foreground, so it will fail with sharding.
Also move WindowOpenPanelTest.WindowOpenFocus and ExtensionTabsTest.GetLastFocusedWindow as well since they depend on focus. Review URL: https://codereview.chromium.org/11348242 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169676 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/api/tabs/tabs_interactive_test.cc53
-rw-r--r--chrome/browser/extensions/api/tabs/tabs_test.cc35
-rw-r--r--chrome/browser/extensions/window_open_apitest.cc7
-rw-r--r--chrome/browser/extensions/window_open_interactive_apitest.cc21
-rw-r--r--chrome/chrome_tests.gypi8
5 files changed, 81 insertions, 43 deletions
diff --git a/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc b/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc
new file mode 100644
index 0000000..7114cbc
--- /dev/null
+++ b/chrome/browser/extensions/api/tabs/tabs_interactive_test.cc
@@ -0,0 +1,53 @@
+// Copyright (c) 2012 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 "chrome/browser/extensions/api/tabs/tabs.h"
+
+#include "base/values.h"
+#include "chrome/browser/extensions/api/tabs/tabs_constants.h"
+#include "chrome/browser/extensions/extension_function_test_utils.h"
+#include "chrome/browser/extensions/extension_tab_util.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/test/base/in_process_browser_test.h"
+#include "chrome/test/base/ui_test_utils.h"
+
+namespace keys = extensions::tabs_constants;
+namespace utils = extension_function_test_utils;
+
+typedef InProcessBrowserTest ExtensionTabsTest;
+
+IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetLastFocusedWindow) {
+ // Create a new window which making it the "last focused" window.
+ // Note that "last focused" means the "top" most window.
+ Browser* new_browser = CreateBrowser(browser()->profile());
+ int focused_window_id = ExtensionTabUtil::GetWindowId(new_browser);
+
+ scoped_refptr<GetLastFocusedWindowFunction> function =
+ new GetLastFocusedWindowFunction();
+ scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
+ function->set_extension(extension.get());
+ scoped_ptr<base::DictionaryValue> result(utils::ToDictionary(
+ utils::RunFunctionAndReturnSingleResult(function.get(),
+ "[]",
+ new_browser)));
+
+ // The id should always match the last focused window and does not depend
+ // on what was passed to RunFunctionAndReturnSingleResult.
+ EXPECT_EQ(focused_window_id, utils::GetInteger(result.get(), "id"));
+ ListValue* tabs = NULL;
+ EXPECT_FALSE(result.get()->GetList(keys::kTabsKey, &tabs));
+
+ function = new GetLastFocusedWindowFunction();
+ function->set_extension(extension.get());
+ result.reset(utils::ToDictionary(
+ utils::RunFunctionAndReturnSingleResult(function.get(),
+ "[{\"populate\": true}]",
+ browser())));
+
+ // The id should always match the last focused window and does not depend
+ // on what was passed to RunFunctionAndReturnSingleResult.
+ EXPECT_EQ(focused_window_id, utils::GetInteger(result.get(), "id"));
+ // "populate" was enabled so tabs should be populated.
+ EXPECT_TRUE(result.get()->GetList(keys::kTabsKey, &tabs));
+}
diff --git a/chrome/browser/extensions/api/tabs/tabs_test.cc b/chrome/browser/extensions/api/tabs/tabs_test.cc
index e9c97488..49ba37c 100644
--- a/chrome/browser/extensions/api/tabs/tabs_test.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_test.cc
@@ -179,41 +179,6 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetCurrentWindow) {
EXPECT_TRUE(result.get()->GetList(keys::kTabsKey, &tabs));
}
-IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetLastFocusedWindow) {
- // Create a new window which making it the "last focused" window.
- // Note that "last focused" means the "top" most window.
- Browser* new_browser = CreateBrowser(browser()->profile());
- int focused_window_id = ExtensionTabUtil::GetWindowId(new_browser);
-
- scoped_refptr<GetLastFocusedWindowFunction> function =
- new GetLastFocusedWindowFunction();
- scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
- function->set_extension(extension.get());
- scoped_ptr<base::DictionaryValue> result(utils::ToDictionary(
- utils::RunFunctionAndReturnSingleResult(function.get(),
- "[]",
- new_browser)));
-
- // The id should always match the last focused window and does not depend
- // on what was passed to RunFunctionAndReturnSingleResult.
- EXPECT_EQ(focused_window_id, utils::GetInteger(result.get(), "id"));
- ListValue* tabs = NULL;
- EXPECT_FALSE(result.get()->GetList(keys::kTabsKey, &tabs));
-
- function = new GetLastFocusedWindowFunction();
- function->set_extension(extension.get());
- result.reset(utils::ToDictionary(
- utils::RunFunctionAndReturnSingleResult(function.get(),
- "[{\"populate\": true}]",
- browser())));
-
- // The id should always match the last focused window and does not depend
- // on what was passed to RunFunctionAndReturnSingleResult.
- EXPECT_EQ(focused_window_id, utils::GetInteger(result.get(), "id"));
- // "populate" was enabled so tabs should be populated.
- EXPECT_TRUE(result.get()->GetList(keys::kTabsKey, &tabs));
-}
-
IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetAllWindows) {
const size_t NUM_WINDOWS = 5;
std::set<int> window_ids;
diff --git a/chrome/browser/extensions/window_open_apitest.cc b/chrome/browser/extensions/window_open_apitest.cc
index 6f2fd2e..43de0f7 100644
--- a/chrome/browser/extensions/window_open_apitest.cc
+++ b/chrome/browser/extensions/window_open_apitest.cc
@@ -227,13 +227,6 @@ IN_PROC_BROWSER_TEST_F(WindowOpenPanelTest, MAYBE_WindowOpenPanelDetached) {
ASSERT_TRUE(RunExtensionTest("window_open/panel_detached")) << message_;
}
-#if defined(OS_MACOSX) || defined(OS_WIN)
-// Focus test fails if there is no window manager on Linux.
-IN_PROC_BROWSER_TEST_F(WindowOpenPanelTest, WindowOpenFocus) {
- ASSERT_TRUE(RunExtensionTest("window_open/focus")) << message_;
-}
-#endif
-
IN_PROC_BROWSER_TEST_F(WindowOpenPanelTest,
CloseNonExtensionPanelsOnUninstall) {
#if defined(USE_ASH)
diff --git a/chrome/browser/extensions/window_open_interactive_apitest.cc b/chrome/browser/extensions/window_open_interactive_apitest.cc
new file mode 100644
index 0000000..1377d15
--- /dev/null
+++ b/chrome/browser/extensions/window_open_interactive_apitest.cc
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 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/command_line.h"
+#include "chrome/browser/extensions/extension_apitest.h"
+#include "chrome/common/chrome_switches.h"
+
+class WindowOpenPanelTest : public ExtensionApiTest {
+ virtual void SetUpCommandLine(CommandLine* command_line) {
+ ExtensionApiTest::SetUpCommandLine(command_line);
+ command_line->AppendSwitch(switches::kEnablePanels);
+ }
+};
+
+#if defined(OS_MACOSX) || defined(OS_WIN)
+// Focus test fails if there is no window manager on Linux.
+IN_PROC_BROWSER_TEST_F(WindowOpenPanelTest, WindowOpenFocus) {
+ ASSERT_TRUE(RunExtensionTest("window_open/focus")) << message_;
+}
+#endif
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi
index 528e40c0..a9738a4 100644
--- a/chrome/chrome_tests.gypi
+++ b/chrome/chrome_tests.gypi
@@ -139,6 +139,7 @@
'chrome',
'chrome_resources.gyp:chrome_resources',
'chrome_resources.gyp:chrome_strings',
+ 'common/extensions/api/api.gyp:api',
'debugger',
'test_support_common',
# NOTE: don't add test_support_ui, no more UITests. See
@@ -167,6 +168,12 @@
],
'sources': [
'browser/browser_keyevents_browsertest.cc',
+ 'browser/extensions/api/tabs/tabs_interactive_test.cc',
+ 'browser/extensions/extension_apitest.cc',
+ 'browser/extensions/extension_browsertest.cc',
+ 'browser/extensions/extension_function_test_utils.cc',
+ 'browser/extensions/extension_keybinding_apitest.cc',
+ 'browser/extensions/window_open_interactive_apitest.cc',
'browser/instant/instant_browsertest.cc',
'browser/mouseleave_browsertest.cc',
'browser/printing/print_dialog_cloud_interative_uitest.cc',
@@ -924,7 +931,6 @@
'browser/extensions/extension_incognito_apitest.cc',
'browser/extensions/extension_install_ui_browsertest.cc',
'browser/extensions/extension_javascript_url_apitest.cc',
- 'browser/extensions/extension_keybinding_apitest.cc',
'browser/extensions/extension_messages_apitest.cc',
'browser/extensions/extension_override_apitest.cc',
'browser/extensions/extension_resource_request_policy_apitest.cc',