summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-17 15:00:27 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-17 15:00:27 +0000
commit2ca18a36b15328633b1173523c9bf6e0c3ae672f (patch)
tree7950b033c22de64f4aa37321847367f333c3b68c /chrome/renderer
parent864baf04e4d5ab0eb374437e76110e1715aae199 (diff)
downloadchromium_src-2ca18a36b15328633b1173523c9bf6e0c3ae672f.zip
chromium_src-2ca18a36b15328633b1173523c9bf6e0c3ae672f.tar.gz
chromium_src-2ca18a36b15328633b1173523c9bf6e0c3ae672f.tar.bz2
Convert the external extension ui_test to a browser_test.
BUG=121574,62777 Review URL: https://chromiumcodereview.appspot.com/10091025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132578 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/external_extension_uitest.cc193
1 files changed, 0 insertions, 193 deletions
diff --git a/chrome/renderer/external_extension_uitest.cc b/chrome/renderer/external_extension_uitest.cc
deleted file mode 100644
index 0cd528c..0000000
--- a/chrome/renderer/external_extension_uitest.cc
+++ /dev/null
@@ -1,193 +0,0 @@
-// 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/string_util.h"
-#include "base/test/test_timeouts.h"
-#include "chrome/app/chrome_command_ids.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/url_constants.h"
-#include "chrome/test/automation/automation_proxy.h"
-#include "chrome/test/automation/tab_proxy.h"
-#include "chrome/test/ui/ui_test.h"
-#include "net/base/escape.h"
-#include "net/test/test_server.h"
-
-struct IsSearchProviderTestData;
-
-class SearchProviderTest : public UITest {
- protected:
- SearchProviderTest();
-
- IsSearchProviderTestData StartIsSearchProviderInstalledTest(
- BrowserProxy* browser_proxy,
- const char* host,
- const char* expected_result);
-
- void FinishIsSearchProviderInstalledTest(
- const IsSearchProviderTestData& data);
-
- net::TestServer test_server_;
- GURL search_provider_test_url_;
- bool test_server_started_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(SearchProviderTest);
-};
-
-SearchProviderTest::SearchProviderTest()
- : test_server_(net::TestServer::TYPE_HTTP,
- net::TestServer::kLocalhost,
- FilePath(FILE_PATH_LITERAL("chrome/test/data"))),
- test_server_started_(false) {
- // The test_server is started in the constructor (rather than the test body)
- // so the mapping rules below can include the ephemeral port number.
- test_server_started_ = test_server_.Start();
- if (!test_server_started_)
- return;
-
- // Map all hosts to our local server.
- std::string host_rule("MAP * " + test_server_.host_port_pair().ToString());
- launch_arguments_.AppendSwitchASCII(switches::kHostRules, host_rule);
-
- // Get the url for the test page.
- search_provider_test_url_ =
- test_server_.GetURL("files/is_search_provider_installed.html");
-}
-
-struct IsSearchProviderTestData {
- IsSearchProviderTestData() {
- }
-
- IsSearchProviderTestData(TabProxy* t,
- std::string h,
- GURL url)
- : tab(t),
- host(h),
- test_url(url) {
- }
-
- scoped_refptr<TabProxy> tab;
- std::string host;
- GURL test_url;
-};
-
-IsSearchProviderTestData SearchProviderTest::StartIsSearchProviderInstalledTest(
- BrowserProxy* browser_proxy,
- const char* host,
- const char* expected_result) {
- // Set-up a new tab for the navigation.
- int num_tabs = 0;
- if (!browser_proxy->GetTabCount(&num_tabs)) {
- ADD_FAILURE() << "BrowserProxy::GetTabCount failed.";
- return IsSearchProviderTestData();
- }
-
- GURL blank(chrome::kAboutBlankURL);
- if (!browser_proxy->AppendTab(blank)) {
- ADD_FAILURE() << "BrowserProxy::AppendTab failed.";
- return IsSearchProviderTestData();
- }
-
- scoped_refptr<TabProxy> tab(browser_proxy->GetTab(num_tabs));
- if (!tab.get()) {
- ADD_FAILURE() << "BrowserProxy::GetTab for the new tab failed.";
- return IsSearchProviderTestData();
- }
-
- // Go to the test page.
- GURL test_url(std::string("http://") + host +
- search_provider_test_url_.path() + "#" + expected_result);
- EXPECT_TRUE(tab->NavigateToURLAsync(test_url));
-
- // Bundle up information needed to verify the result.
- return IsSearchProviderTestData(tab, host, test_url);
-}
-
-void SearchProviderTest::FinishIsSearchProviderInstalledTest(
- const IsSearchProviderTestData& data) {
- ASSERT_TRUE(data.tab.get());
-
- std::string cookie_name = data.host + "testResult";
- std::string escaped_value =
- WaitUntilCookieNonEmpty(data.tab,
- data.test_url,
- cookie_name.c_str(),
- TestTimeouts::action_max_timeout_ms());
-
- // Unescapes and normalizes the actual result.
- std::string value = net::UnescapeURLComponent(
- escaped_value,
- net::UnescapeRule::NORMAL | net::UnescapeRule::SPACES |
- net::UnescapeRule::URL_SPECIAL_CHARS | net::UnescapeRule::CONTROL_CHARS);
- value += "\n";
- ReplaceSubstringsAfterOffset(&value, 0, "\r", "");
- EXPECT_STREQ("1\n", value.c_str());
- EXPECT_TRUE(data.tab->Close(true));
-}
-
-// Flaky on XP debug. http://crbug.com/62777
-#if defined(OS_WIN)
-#define MAYBE_TestIsSearchProviderInstalled DISABLED_TestIsSearchProviderInstalled
-#else
-#define MAYBE_TestIsSearchProviderInstalled TestIsSearchProviderInstalled
-#endif
-TEST_F(SearchProviderTest, MAYBE_TestIsSearchProviderInstalled) {
- ASSERT_TRUE(test_server_started_);
-
- // Use the default search provider, other installed search provider, and
- // one not installed as well. (Note that yahoo isn't tested because the
- // its host name varies a lot for different locales unlike Google and Bing,
- // which would make the test fail depending on the machine's locale.)
- const char* test_hosts[] = { "www.google.com",
- "www.bing.com",
- "localhost" };
- const char* expected_results[] = { "2",
- "1",
- "0" };
- COMPILE_ASSERT(arraysize(test_hosts) == arraysize(expected_results),
- there_should_be_a_result_for_each_host);
- IsSearchProviderTestData test_data[2 * arraysize(test_hosts)];
-
- // Start results for the normal mode.
- scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
- ASSERT_TRUE(browser.get());
- for (size_t i = 0; i < arraysize(test_hosts); ++i) {
- test_data[i] = StartIsSearchProviderInstalledTest(
- browser, test_hosts[i], expected_results[i]);
- FinishIsSearchProviderInstalledTest(test_data[i]);
- }
-
- // Start tests for incognito mode (and verify the result is 0).
- ASSERT_TRUE(browser->RunCommand(IDC_NEW_INCOGNITO_WINDOW));
- scoped_refptr<BrowserProxy> incognito(automation()->GetBrowserWindow(1));
- ASSERT_TRUE(incognito.get());
- for (size_t i = 0; i < arraysize(test_hosts); ++i) {
- test_data[i + arraysize(test_hosts)] = StartIsSearchProviderInstalledTest(
- incognito, test_hosts[i], "0");
- FinishIsSearchProviderInstalledTest(test_data[i + arraysize(test_hosts)]);
- }
-
- // The following should be re-enabled. At the moment, there are problems with
- // doing all of these queries in parallel -- see http://crbug.com/60043.
-#if 0
- // Remove the calls to FinishIsSearchProviderInstalledTest above when
- // re-enabling this code.
-
- // Do the verification.
- for (size_t i = 0; i < arraysize(test_data); ++i) {
- FinishIsSearchProviderInstalledTest(test_data[i]);
- }
-#endif
-}
-
-TEST_F(SearchProviderTest, TestIsSearchProviderInstalledWithException) {
- // Change the url for the test page to one that throws an exception when
- // toString is called on the argument given to isSearchProviderInstalled.
- search_provider_test_url_ = test_server_.GetURL(
- "files/is_search_provider_installed_with_exception.html");
-
- scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
- FinishIsSearchProviderInstalledTest(StartIsSearchProviderInstalledTest(
- browser, "www.google.com", ""));
-}