diff options
-rw-r--r-- | chrome/browser/browser.h | 2 | ||||
-rw-r--r-- | chrome/browser/search_engines/template_url_scraper_unittest.cc | 88 | ||||
-rw-r--r-- | chrome/test/in_process_browser_test.cc | 15 | ||||
-rw-r--r-- | chrome/test/in_process_browser_test.h | 8 | ||||
-rw-r--r-- | chrome/test/ui_test_utils.cc | 31 | ||||
-rw-r--r-- | chrome/test/ui_test_utils.h | 10 | ||||
-rw-r--r-- | chrome/test/unit/unittests.vcproj | 4 | ||||
-rw-r--r-- | net/base/ssl_client_socket_unittest.cc | 6 | ||||
-rw-r--r-- | net/base/ssl_test_util.cc | 8 | ||||
-rw-r--r-- | net/base/ssl_test_util.h | 5 | ||||
-rw-r--r-- | net/tools/testserver/testserver.py | 7 | ||||
-rw-r--r-- | net/url_request/url_request_unittest.h | 27 | ||||
-rw-r--r-- | webkit/glue/searchable_form_data.cc | 6 | ||||
-rw-r--r-- | webkit/glue/unittest_test_server.h | 2 |
14 files changed, 33 insertions, 186 deletions
diff --git a/chrome/browser/browser.h b/chrome/browser/browser.h index 42f76e4..63b28d5 100644 --- a/chrome/browser/browser.h +++ b/chrome/browser/browser.h @@ -123,6 +123,7 @@ class Browser : public TabStripModelDelegate, const std::vector<std::wstring>& user_data_dir_profiles() const { return g_browser_process->user_data_dir_profiles(); } +#ifdef UNIT_TEST // Sets the BrowserWindow. This is intended for testing and generally not // useful outside of testing. Use CreateBrowserWindow outside of testing, or // the static convenience methods that create a BrowserWindow for you. @@ -130,6 +131,7 @@ class Browser : public TabStripModelDelegate, DCHECK(!window_); window_ = window; } +#endif BrowserWindow* window() const { return window_; } ToolbarModel* toolbar_model() { return &toolbar_model_; } const SessionID& session_id() const { return session_id_; } diff --git a/chrome/browser/search_engines/template_url_scraper_unittest.cc b/chrome/browser/search_engines/template_url_scraper_unittest.cc deleted file mode 100644 index dc02852..0000000 --- a/chrome/browser/search_engines/template_url_scraper_unittest.cc +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) 2009 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/browser.h" -#include "chrome/browser/profile.h" -#include "chrome/browser/search_engines/template_url_model.h" -#include "chrome/browser/search_engines/template_url_prepopulate_data.h" -#include "chrome/common/notification_registrar.h" -#include "chrome/common/notification_source.h" -#include "chrome/common/notification_type.h" -#include "chrome/test/in_process_browser_test.h" -#include "chrome/test/ui_test_utils.h" -#include "net/base/host_resolver_unittest.h" -#include "net/base/net_util.h" - -namespace { -class TemplateURLScraperTest : public InProcessBrowserTest { - public: - TemplateURLScraperTest() { - } - - protected: - virtual void ConfigureHostMapper(net::RuleBasedHostMapper* host_mapper) { - InProcessBrowserTest::ConfigureHostMapper(host_mapper); - // We use foo.com in our tests. - host_mapper->AddRule("*.foo.com", "localhost"); - } - - private: - DISALLOW_COPY_AND_ASSIGN(TemplateURLScraperTest); -}; - -class TemplateURLModelLoader : public NotificationObserver { - public: - explicit TemplateURLModelLoader(TemplateURLModel* model) : model_(model) { - registrar_.Add(this, NotificationType::TEMPLATE_URL_MODEL_LOADED, - Source<TemplateURLModel>(model)); - model_->Load(); - ui_test_utils::RunMessageLoop(); - } - - virtual void Observe(NotificationType type, - const NotificationSource& source, - const NotificationDetails& details) { - if (type == NotificationType::TEMPLATE_URL_MODEL_LOADED && - Source<TemplateURLModel>(source).ptr() == model_) { - MessageLoop::current()->Quit(); - } - } - - private: - NotificationRegistrar registrar_; - - TemplateURLModel* model_; - - DISALLOW_COPY_AND_ASSIGN(TemplateURLModelLoader); -}; - -} // namespace - -IN_PROC_BROWSER_TEST_F(TemplateURLScraperTest, ScrapeWithOnSubmit) { - TemplateURLModel* template_urls = browser()->profile()->GetTemplateURLModel(); - TemplateURLModelLoader loader(template_urls); - - std::vector<const TemplateURL*> all_urls = template_urls->GetTemplateURLs(); - - // We need to substract the default pre-populated engines that the profile is - // set up with. - size_t default_index = 0; - std::vector<TemplateURL*> prepopulate_urls; - TemplateURLPrepopulateData::GetPrepopulatedEngines( - browser()->profile()->GetPrefs(), - &prepopulate_urls, - &default_index); - - EXPECT_EQ(prepopulate_urls.size(), all_urls.size()); - - scoped_refptr<HTTPTestServer> server( - HTTPTestServer::CreateServerWithFileRootURL( - L"chrome/test/data/template_url_scraper/submit_handler", L"/", - g_browser_process->io_thread()->message_loop())); - ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( - browser(), GURL("http://www.foo.com:1337/"), 2); - - all_urls = template_urls->GetTemplateURLs(); - EXPECT_EQ(1, all_urls.size() - prepopulate_urls.size()); -} diff --git a/chrome/test/in_process_browser_test.cc b/chrome/test/in_process_browser_test.cc index 6699144..39114ee 100644 --- a/chrome/test/in_process_browser_test.cc +++ b/chrome/test/in_process_browser_test.cc @@ -125,7 +125,12 @@ void InProcessBrowserTest::SetUp() { scoped_refptr<net::RuleBasedHostMapper> host_mapper( new net::RuleBasedHostMapper()); - ConfigureHostMapper(host_mapper.get()); + // TODO(sky): Don't make a real dns lookup here or simulate a failing + // lookup. + host_mapper->AllowDirectLookup("*.google.com"); + // See http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol + // We don't want the test code to use it. + host_mapper->AddSimulatedFailure("wpad"); net::ScopedHostMapper scoped_host_mapper(host_mapper.get()); BrowserMain(params); } @@ -216,11 +221,3 @@ void InProcessBrowserTest::RunTestOnMainThreadLoop() { MessageLoopForUI::current()->Quit(); } - -void InProcessBrowserTest::ConfigureHostMapper( - net::RuleBasedHostMapper* host_mapper) { - host_mapper->AllowDirectLookup("*.google.com"); - // See http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol - // We don't want the test code to use it. - host_mapper->AddSimulatedFailure("wpad"); -} diff --git a/chrome/test/in_process_browser_test.h b/chrome/test/in_process_browser_test.h index 457516e..89de9b9 100644 --- a/chrome/test/in_process_browser_test.h +++ b/chrome/test/in_process_browser_test.h @@ -12,9 +12,6 @@ class Browser; class Profile; -namespace net { -class RuleBasedHostMapper; -} // Base class for tests wanting to bring up a browser in the unit test process. // Writing tests with InProcessBrowserTest is slightly different than that of @@ -67,11 +64,6 @@ class InProcessBrowserTest : public testing::Test, public NotificationObserver { // Override this rather than TestBody. virtual void RunTestOnMainThread() = 0; - // Allows subclasses to configure the host mapper. By default this blocks - // requests to google.com as Chrome pings that on startup and we don't want to - // do that during testing. - virtual void ConfigureHostMapper(net::RuleBasedHostMapper* host_mapper); - // Starts an HTTP server. HTTPTestServer* StartHTTPServer(); diff --git a/chrome/test/ui_test_utils.cc b/chrome/test/ui_test_utils.cc index 6af1091..47e3ef2 100644 --- a/chrome/test/ui_test_utils.cc +++ b/chrome/test/ui_test_utils.cc @@ -20,11 +20,8 @@ namespace { // Used to block until a navigation completes. class NavigationNotificationObserver : public NotificationObserver { public: - NavigationNotificationObserver(NavigationController* controller, - int number_of_navigations) - : navigation_started_(false), - navigations_completed_(0), - number_of_navigations_(number_of_navigations) { + explicit NavigationNotificationObserver(NavigationController* controller) + : navigation_started_(false) { registrar_.Add(this, NotificationType::NAV_ENTRY_COMMITTED, Source<NavigationController>(controller)); registrar_.Add(this, NotificationType::LOAD_START, @@ -41,8 +38,7 @@ class NavigationNotificationObserver : public NotificationObserver { type == NotificationType::LOAD_START) { navigation_started_ = true; } else if (type == NotificationType::LOAD_STOP) { - if (navigation_started_ && - ++navigations_completed_ == number_of_navigations_) { + if (navigation_started_) { navigation_started_ = false; MessageLoopForUI::current()->Quit(); } @@ -55,12 +51,6 @@ class NavigationNotificationObserver : public NotificationObserver { // If true the navigation has started. bool navigation_started_; - // The number of navigations that have been completed. - int navigations_completed_; - - // The number of navigations to wait for. - int number_of_navigations_; - DISALLOW_COPY_AND_ASSIGN(NavigationNotificationObserver); }; @@ -76,26 +66,15 @@ void RunMessageLoop() { } void WaitForNavigation(NavigationController* controller) { - WaitForNavigations(controller, 1); -} - -void WaitForNavigations(NavigationController* controller, - int number_of_navigations) { - NavigationNotificationObserver observer(controller, number_of_navigations); + NavigationNotificationObserver observer(controller); } void NavigateToURL(Browser* browser, const GURL& url) { - NavigateToURLBlockUntilNavigationsComplete(browser, url, 1); -} - -void NavigateToURLBlockUntilNavigationsComplete(Browser* browser, - const GURL& url, - int number_of_navigations) { NavigationController* controller = browser->GetSelectedTabContents()->controller(); browser->OpenURLFromTab(browser->GetSelectedTabContents(), url, GURL(), CURRENT_TAB, PageTransition::TYPED); - WaitForNavigations(controller, number_of_navigations); + WaitForNavigation(controller); } } // namespace ui_test_utils diff --git a/chrome/test/ui_test_utils.h b/chrome/test/ui_test_utils.h index ced32d2..f0433b0 100644 --- a/chrome/test/ui_test_utils.h +++ b/chrome/test/ui_test_utils.h @@ -21,20 +21,10 @@ void RunMessageLoop(); // the navigation finishes. void WaitForNavigation(NavigationController* controller); -// Waits for |controller| to complete a navigation. This blocks until -// the specified number of navigations complete. -void WaitForNavigations(NavigationController* controller, - int number_of_navigations); - // Navigates the selected tab of |browser| to |url|, blocking until the // navigation finishes. void NavigateToURL(Browser* browser, const GURL& url); -// Navigates the selected tab of |browser| to |url|, blocking until the -// number of navigations specified complete. -void NavigateToURLBlockUntilNavigationsComplete(Browser* browser, - const GURL& url, - int number_of_navigations); } #endif // CHROME_TEST_UI_TEST_UTILS_H_ diff --git a/chrome/test/unit/unittests.vcproj b/chrome/test/unit/unittests.vcproj index 2bf265e..3f4dcec 100644 --- a/chrome/test/unit/unittests.vcproj +++ b/chrome/test/unit/unittests.vcproj @@ -708,10 +708,6 @@ > </File> <File - RelativePath="..\..\browser\search_engines\template_url_scraper_unittest.cc" - > - </File> - <File RelativePath="..\..\browser\search_engines\template_url_unittest.cc" > </File> diff --git a/net/base/ssl_client_socket_unittest.cc b/net/base/ssl_client_socket_unittest.cc index 2399466..7c7b170 100644 --- a/net/base/ssl_client_socket_unittest.cc +++ b/net/base/ssl_client_socket_unittest.cc @@ -27,21 +27,21 @@ class SSLClientSocketTest : public PlatformTest { void StartOKServer() { bool success = server_.Start(net::TestServerLauncher::ProtoHTTP, server_.kHostName, server_.kOKHTTPSPort, - FilePath(), server_.GetOKCertPath(), std::wstring()); + FilePath(), server_.GetOKCertPath()); ASSERT_TRUE(success); } void StartMismatchedServer() { bool success = server_.Start(net::TestServerLauncher::ProtoHTTP, server_.kMismatchedHostName, server_.kOKHTTPSPort, - FilePath(), server_.GetOKCertPath(), std::wstring()); + FilePath(), server_.GetOKCertPath()); ASSERT_TRUE(success); } void StartExpiredServer() { bool success = server_.Start(net::TestServerLauncher::ProtoHTTP, server_.kHostName, server_.kBadHTTPSPort, - FilePath(), server_.GetExpiredCertPath(), std::wstring()); + FilePath(), server_.GetExpiredCertPath()); ASSERT_TRUE(success); } diff --git a/net/base/ssl_test_util.cc b/net/base/ssl_test_util.cc index a3fe3b9..71edb6a 100644 --- a/net/base/ssl_test_util.cc +++ b/net/base/ssl_test_util.cc @@ -152,8 +152,7 @@ void TestServerLauncher::SetPythonPath() { bool TestServerLauncher::Start(Protocol protocol, const std::string& host_name, int port, const FilePath& document_root, - const FilePath& cert_path, - const std::wstring& file_root_url) { + const FilePath& cert_path) { if (!cert_path.value().empty()) { if (!LoadTestRootCert()) return false; @@ -199,11 +198,6 @@ bool TestServerLauncher::Start(Protocol protocol, command_line.append(cert_path.ToWStringHack()); command_line.append(L"\""); } - if (!file_root_url.empty()) { - command_line.append(L" --file-root-url=\""); - command_line.append(file_root_url); - command_line.append(L"\""); - } if (!base::LaunchApp(command_line, false, true, &process_handle_)) { LOG(ERROR) << "Failed to launch " << command_line; diff --git a/net/base/ssl_test_util.h b/net/base/ssl_test_util.h index 54449ee..b75453b 100644 --- a/net/base/ssl_test_util.h +++ b/net/base/ssl_test_util.h @@ -39,15 +39,12 @@ class TestServerLauncher { // Start src/net/tools/testserver/testserver.py and // ask it to serve the given protocol. // If protocol is HTTP, and cert_path is not empty, serves HTTPS. - // file_root_url specifies the root url on the server that documents will be - // served out of. This is /files/ by default. // Returns true on success, false if files not found or root cert // not trusted. bool Start(Protocol protocol, const std::string& host_name, int port, const FilePath& document_root, - const FilePath& cert_path, - const std::wstring& file_root_url); + const FilePath& cert_path); // Stop the server started by Start(). bool Stop(); diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py index 9ab77a8..5784059 100644 --- a/net/tools/testserver/testserver.py +++ b/net/tools/testserver/testserver.py @@ -565,15 +565,13 @@ class TestPageHandler(BaseHTTPServer.BaseHTTPRequestHandler): """This handler sends the contents of the requested file. Wow, it's like a real webserver!""" - prefix = self.server.file_root_url + prefix='/files/' if not self.path.startswith(prefix): return False file = self.path[len(prefix):] entries = file.split('/'); path = os.path.join(self.server.data_dir, *entries) - if os.path.isdir(path): - path = os.path.join(path, 'index.html') if not os.path.isfile(path): print "File not found " + file + " full path:" + path @@ -1049,7 +1047,6 @@ def main(options, args): print 'HTTP server started on port %d...' % port server.data_dir = MakeDataDir() - server.file_root_url = options.file_root_url MakeDumpDir(server.data_dir) # means FTP Server @@ -1105,8 +1102,6 @@ if __name__ == '__main__': help='Specify that https should be used, specify ' 'the path to the cert containing the private key ' 'the server should use') - option_parser.add_option('', '--file-root-url', default='/files/', - help='Specify a root URL for files served.') options, args = option_parser.parse_args() sys.exit(main(options, args)) diff --git a/net/url_request/url_request_unittest.h b/net/url_request/url_request_unittest.h index e661153..88b83a6 100644 --- a/net/url_request/url_request_unittest.h +++ b/net/url_request/url_request_unittest.h @@ -260,22 +260,20 @@ class BaseTestServer : public base::RefCounted<BaseTestServer> { bool Start(net::TestServerLauncher::Protocol protocol, const std::string& host_name, int port, const FilePath& document_root, - const FilePath& cert_path, - const std::wstring& file_root_url) { + const FilePath& cert_path) { std::string blank; return Start(protocol, host_name, port, document_root, cert_path, - file_root_url, blank, blank); + blank, blank); } bool Start(net::TestServerLauncher::Protocol protocol, const std::string& host_name, int port, const FilePath& document_root, const FilePath& cert_path, - const std::wstring& file_root_url, const std::string& url_user, const std::string& url_password) { if (!launcher_.Start(protocol, - host_name, port, document_root, cert_path, file_root_url)) + host_name, port, document_root, cert_path)) return false; std::string scheme; @@ -340,20 +338,13 @@ class HTTPTestServer : public BaseTestServer { static scoped_refptr<HTTPTestServer> CreateServer( const std::wstring& document_root, MessageLoop* loop) { - return CreateServerWithFileRootURL(document_root, std::wstring(), loop); - } - - static scoped_refptr<HTTPTestServer> CreateServerWithFileRootURL( - const std::wstring& document_root, - const std::wstring& file_root_url, - MessageLoop* loop) { scoped_refptr<HTTPTestServer> test_server = new HTTPTestServer(); test_server->loop_ = loop; FilePath no_cert; FilePath docroot = FilePath::FromWStringHack(document_root); if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, kDefaultHostName, kHTTPDefaultPort, - docroot, no_cert, file_root_url)) { + docroot, no_cert)) { return NULL; } return test_server; @@ -447,7 +438,7 @@ class HTTPSTestServer : public HTTPTestServer { if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, net::TestServerLauncher::kHostName, net::TestServerLauncher::kOKHTTPSPort, - docroot, certpath, std::wstring())) { + docroot, certpath)) { return NULL; } return test_server; @@ -463,7 +454,7 @@ class HTTPSTestServer : public HTTPTestServer { if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, net::TestServerLauncher::kMismatchedHostName, net::TestServerLauncher::kOKHTTPSPort, - docroot, certpath, std::wstring())) { + docroot, certpath)) { return NULL; } return test_server; @@ -478,7 +469,7 @@ class HTTPSTestServer : public HTTPTestServer { if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, net::TestServerLauncher::kHostName, net::TestServerLauncher::kBadHTTPSPort, - docroot, certpath, std::wstring())) { + docroot, certpath)) { return NULL; } return test_server; @@ -493,7 +484,7 @@ class HTTPSTestServer : public HTTPTestServer { FilePath docroot = FilePath::FromWStringHack(document_root); FilePath certpath = FilePath::FromWStringHack(cert_path); if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, - host_name, port, docroot, certpath, std::wstring())) { + host_name, port, docroot, certpath)) { return NULL; } return test_server; @@ -526,7 +517,7 @@ class FTPTestServer : public BaseTestServer { FilePath docroot = FilePath::FromWStringHack(document_root); FilePath no_cert; if (!test_server->Start(net::TestServerLauncher::ProtoFTP, - kDefaultHostName, kFTPDefaultPort, docroot, no_cert, std::wstring(), + kDefaultHostName, kFTPDefaultPort, docroot, no_cert, url_user, url_password)) { return NULL; } diff --git a/webkit/glue/searchable_form_data.cc b/webkit/glue/searchable_form_data.cc index 6187897..3c787b2 100644 --- a/webkit/glue/searchable_form_data.cc +++ b/webkit/glue/searchable_form_data.cc @@ -320,8 +320,10 @@ SearchableFormData* SearchableFormData::Create(WebCore::HTMLFormElement* form) { if (frame == NULL) return NULL; - // Only consider forms that GET data and the action targets an http page. - if (!IsFormMethodGet(form) || !IsHTTPFormSubmit(form)) + // Only consider forms that GET data, do not have script for onsubmit, and + // the action targets an http page. + if (!IsFormMethodGet(form) || FormHasOnSubmit(form) || + !IsHTTPFormSubmit(form)) return NULL; Vector<char> enc_string; diff --git a/webkit/glue/unittest_test_server.h b/webkit/glue/unittest_test_server.h index 583abf9..c8e622b 100644 --- a/webkit/glue/unittest_test_server.h +++ b/webkit/glue/unittest_test_server.h @@ -26,7 +26,7 @@ class UnittestTestServer : public HTTPTestServer { FilePath no_cert; FilePath docroot = FilePath::FromWStringHack(L"webkit/data"); if (!test_server->Start(net::TestServerLauncher::ProtoHTTP, - "localhost", 1337, docroot, no_cert, std::wstring())) { + "localhost", 1337, docroot, no_cert)) { delete test_server; return NULL; } |