diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-23 16:48:55 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-23 16:48:55 +0000 |
commit | 266c4b404bd86f6122147922e0cdc95f09cccb75 (patch) | |
tree | 1f08a7d02c2d2dfc7938e45c3b8609128bdae0e3 | |
parent | 92d0d842e665fac543f37cd3d4395b114fee781d (diff) | |
download | chromium_src-266c4b404bd86f6122147922e0cdc95f09cccb75.zip chromium_src-266c4b404bd86f6122147922e0cdc95f09cccb75.tar.gz chromium_src-266c4b404bd86f6122147922e0cdc95f09cccb75.tar.bz2 |
Add more files to content_unittests.
BUG=90443
Review URL: http://codereview.chromium.org/7708010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97875 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/chrome_tests.gypi | 28 | ||||
-rw-r--r-- | content/browser/appcache/chrome_appcache_service_unittest.cc | 4 | ||||
-rw-r--r-- | content/browser/browser_url_handler_unittest.cc | 23 | ||||
-rw-r--r-- | content/browser/content_browser_client.h | 2 | ||||
-rw-r--r-- | content/browser/mock_content_browser_client.cc | 5 | ||||
-rw-r--r-- | content/browser/mock_content_browser_client.h | 2 | ||||
-rw-r--r-- | content/content_browser.gypi | 1 | ||||
-rw-r--r-- | content/content_tests.gypi | 35 | ||||
-rw-r--r-- | content/test/DEPS | 4 | ||||
-rw-r--r-- | content/test/content_test_suite.cc | 13 | ||||
-rw-r--r-- | content/test/content_test_suite.h | 4 | ||||
-rw-r--r-- | content/test/test_browser_context.cc | 81 | ||||
-rw-r--r-- | content/test/test_browser_context.h | 40 |
13 files changed, 200 insertions, 42 deletions
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index 8a1a2f2..801c003 100644 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -195,19 +195,10 @@ 'test/base/values_test_util.h', 'test/test_navigation_observer.cc', 'test/test_navigation_observer.h', - '../content/browser/geolocation/arbitrator_dependency_factories_for_test.cc', - '../content/browser/geolocation/arbitrator_dependency_factories_for_test.h', - '../content/browser/geolocation/mock_location_provider.cc', - '../content/browser/geolocation/mock_location_provider.h', - '../content/browser/mock_content_browser_client.cc', - '../content/browser/mock_resource_context.cc', - '../content/browser/mock_resource_context.h', # TODO: these should live here but are currently used by # production code code in libbrowser (in chrome.gyp). #'../content/browser/net/url_request_mock_http_job.cc', #'../content/browser/net/url_request_mock_http_job.h', - '../content/browser/renderer_host/media/mock_media_observer.cc', - '../content/browser/renderer_host/media/mock_media_observer.h', '../content/browser/renderer_host/mock_render_process_host.cc', '../content/browser/renderer_host/mock_render_process_host.h', '../content/browser/renderer_host/test_backing_store.cc', @@ -221,12 +212,8 @@ '../content/common/notification_observer_mock.h', '../ui/gfx/image/image_unittest_util.h', '../ui/gfx/image/image_unittest_util.cc', - '../webkit/appcache/appcache_test_helper.cc', - '../webkit/appcache/appcache_test_helper.h', '../webkit/quota/mock_quota_manager.cc', '../webkit/quota/mock_quota_manager.h', - '../webkit/quota/mock_special_storage_policy.cc', - '../webkit/quota/mock_special_storage_policy.h', ], 'conditions': [ ['chromeos==0', { @@ -2014,19 +2001,10 @@ 'test/sync/test_http_bridge_factory.cc', 'test/sync/test_http_bridge_factory.h', 'tools/convert_dict/convert_dict_unittest.cc', - '../content/browser/appcache/chrome_appcache_service_unittest.cc', - '../content/browser/browser_url_handler_unittest.cc', '../content/browser/debugger/devtools_manager_unittest.cc', - '../content/browser/device_orientation/provider_unittest.cc', - '../content/browser/download/base_file_unittest.cc', '../content/browser/download/download_file_unittest.cc', - '../content/browser/download/download_status_updater_unittest.cc', '../content/browser/download/mock_download_manager.h', '../content/browser/download/save_package_unittest.cc', - '../content/browser/geolocation/device_data_provider_unittest.cc', - '../content/browser/geolocation/fake_access_token_store.cc', - '../content/browser/geolocation/fake_access_token_store.h', - '../content/browser/geolocation/gateway_data_provider_common_unittest.cc', '../content/browser/geolocation/geolocation_provider_unittest.cc', '../content/browser/geolocation/gps_location_provider_unittest_linux.cc', '../content/browser/geolocation/location_arbitrator_unittest.cc', @@ -2035,18 +2013,12 @@ '../content/browser/geolocation/wifi_data_provider_unittest_win.cc', '../content/browser/geolocation/win7_location_api_unittest_win.cc', '../content/browser/geolocation/win7_location_provider_unittest_win.cc', - '../content/browser/gpu/gpu_blacklist_unittest.cc', '../content/browser/in_process_webkit/dom_storage_unittest.cc', '../content/browser/in_process_webkit/indexed_db_quota_client_unittest.cc', '../content/browser/in_process_webkit/webkit_context_unittest.cc', '../content/browser/in_process_webkit/webkit_thread_unittest.cc', '../content/browser/mach_broker_mac_unittest.cc', '../content/browser/plugin_service_unittest.cc', - '../content/browser/renderer_host/media/audio_input_device_manager_unittest.cc', - '../content/browser/renderer_host/media/audio_renderer_host_unittest.cc', - '../content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc', - '../content/browser/renderer_host/media/video_capture_host_unittest.cc', - '../content/browser/renderer_host/media/video_capture_manager_unittest.cc', '../content/browser/renderer_host/render_view_host_unittest.cc', '../content/browser/renderer_host/render_widget_host_unittest.cc', '../content/browser/renderer_host/resource_dispatcher_host_unittest.cc', diff --git a/content/browser/appcache/chrome_appcache_service_unittest.cc b/content/browser/appcache/chrome_appcache_service_unittest.cc index 852afe8..3994673 100644 --- a/content/browser/appcache/chrome_appcache_service_unittest.cc +++ b/content/browser/appcache/chrome_appcache_service_unittest.cc @@ -6,8 +6,6 @@ #include "base/memory/ref_counted.h" #include "base/message_loop.h" #include "base/scoped_temp_dir.h" -#include "chrome/test/base/testing_browser_process.h" -#include "chrome/test/base/testing_browser_process_test.h" #include "content/browser/appcache/chrome_appcache_service.h" #include "content/browser/browser_thread.h" #include "testing/gtest/include/gtest/gtest.h" @@ -31,7 +29,7 @@ const char kNormalManifest[] = "http://www.normal.com/cache.manifest"; namespace appcache { -class ChromeAppCacheServiceTest : public TestingBrowserProcessTest { +class ChromeAppCacheServiceTest : public testing::Test { public: ChromeAppCacheServiceTest() : message_loop_(MessageLoop::TYPE_IO), diff --git a/content/browser/browser_url_handler_unittest.cc b/content/browser/browser_url_handler_unittest.cc index f6af8ec..ed133a2 100644 --- a/content/browser/browser_url_handler_unittest.cc +++ b/content/browser/browser_url_handler_unittest.cc @@ -2,13 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/test/base/testing_browser_process_test.h" -#include "chrome/test/base/testing_profile.h" #include "content/browser/browser_url_handler.h" +#include "content/test/test_browser_context.h" #include "googleurl/src/gurl.h" #include "testing/gtest/include/gtest/gtest.h" -class BrowserURLHandlerTest : public TestingBrowserProcessTest { +class BrowserURLHandlerTest : public testing::Test { }; // Test URL rewriter that rewrites all "foo://" URLs to "bar://bar". @@ -30,7 +29,7 @@ static bool BarRewriter(GURL* url, content::BrowserContext* browser_context) { } TEST_F(BrowserURLHandlerTest, BasicRewriteAndReverse) { - TestingProfile profile; + TestBrowserContext browser_context; BrowserURLHandler handler; handler.AddHandlerPair(FooRewriter, BarRewriter); @@ -38,38 +37,42 @@ TEST_F(BrowserURLHandlerTest, BasicRewriteAndReverse) { GURL url("foo://bar"); GURL original_url(url); bool reverse_on_redirect = false; - handler.RewriteURLIfNecessary(&url, &profile, &reverse_on_redirect); + handler.RewriteURLIfNecessary(&url, &browser_context, &reverse_on_redirect); ASSERT_TRUE(reverse_on_redirect); ASSERT_EQ("bar://bar", url.spec()); // Check that reversing the URL works. GURL saved_url(url); - bool reversed = handler.ReverseURLRewrite(&url, original_url, &profile); + bool reversed = handler.ReverseURLRewrite(&url, + original_url, + &browser_context); ASSERT_TRUE(reversed); ASSERT_EQ("foo://foo", url.spec()); // Check that reversing the URL only works with a matching |original_url|. url = saved_url; original_url = GURL("bam://bam"); // Won't be matched by FooRewriter. - reversed = handler.ReverseURLRewrite(&url, original_url, &profile); + reversed = handler.ReverseURLRewrite(&url, original_url, &browser_context); ASSERT_FALSE(reversed); ASSERT_EQ(saved_url, url); } TEST_F(BrowserURLHandlerTest, NullHandlerReverse) { - TestingProfile profile; + TestBrowserContext browser_context; BrowserURLHandler handler; GURL url("bar://foo"); GURL original_url(url); handler.AddHandlerPair(BrowserURLHandler::null_handler(), FooRewriter); - bool reversed = handler.ReverseURLRewrite(&url, original_url, &profile); + bool reversed = handler.ReverseURLRewrite(&url, + original_url, + &browser_context); ASSERT_FALSE(reversed); ASSERT_EQ(original_url, url); handler.AddHandlerPair(BrowserURLHandler::null_handler(), BarRewriter); - reversed = handler.ReverseURLRewrite(&url, original_url, &profile); + reversed = handler.ReverseURLRewrite(&url, original_url, &browser_context); ASSERT_TRUE(reversed); ASSERT_EQ("foo://foo", url.spec()); } diff --git a/content/browser/content_browser_client.h b/content/browser/content_browser_client.h index 961beca..4f0a53c 100644 --- a/content/browser/content_browser_client.h +++ b/content/browser/content_browser_client.h @@ -66,6 +66,8 @@ class WebUIFactory; // the observer interfaces.) class ContentBrowserClient { public: + virtual ~ContentBrowserClient() {} + // Notifies that a new RenderHostView has been created. virtual void RenderViewHostCreated(RenderViewHost* render_view_host) = 0; diff --git a/content/browser/mock_content_browser_client.cc b/content/browser/mock_content_browser_client.cc index 80a104b..20fb578 100644 --- a/content/browser/mock_content_browser_client.cc +++ b/content/browser/mock_content_browser_client.cc @@ -44,6 +44,11 @@ GURL MockContentBrowserClient::GetEffectiveURL( return GURL(); } +bool MockContentBrowserClient::ShouldUseProcessPerSite( + BrowserContext* browser_context, const GURL& effective_url) { + return false; +} + bool MockContentBrowserClient::IsURLSameAsAnySiteInstance(const GURL& url) { return false; } diff --git a/content/browser/mock_content_browser_client.h b/content/browser/mock_content_browser_client.h index 0779365..50f57d3 100644 --- a/content/browser/mock_content_browser_client.h +++ b/content/browser/mock_content_browser_client.h @@ -25,6 +25,8 @@ class MockContentBrowserClient : public ContentBrowserClient { virtual WebUIFactory* GetWebUIFactory() OVERRIDE; virtual GURL GetEffectiveURL(content::BrowserContext* browser_context, const GURL& url) OVERRIDE; + virtual bool ShouldUseProcessPerSite(BrowserContext* browser_context, + const GURL& effective_url) OVERRIDE; virtual bool IsURLSameAsAnySiteInstance(const GURL& url) OVERRIDE; virtual std::string GetCanonicalEncodingNameByAliasName( const std::string& alias_name) OVERRIDE; diff --git a/content/content_browser.gypi b/content/content_browser.gypi index 13a17a8..6231386 100644 --- a/content/content_browser.gypi +++ b/content/content_browser.gypi @@ -346,7 +346,6 @@ 'browser/renderer_host/media/media_stream_provider.h', 'browser/renderer_host/media/media_stream_requester.h', 'browser/renderer_host/media/media_stream_settings_requester.h', - 'browser/renderer_host/media/mock_media_observer.h', 'browser/renderer_host/media/video_capture_controller.cc', 'browser/renderer_host/media/video_capture_controller.h', 'browser/renderer_host/media/video_capture_controller_event_handler.cc', diff --git a/content/content_tests.gypi b/content/content_tests.gypi index 1c59e934..0984b21 100644 --- a/content/content_tests.gypi +++ b/content/content_tests.gypi @@ -9,6 +9,8 @@ 'type': 'static_library', 'dependencies': [ 'content_common', + '../skia/skia.gyp:skia', + '../testing/gmock.gyp:gmock', '../testing/gtest.gyp:gtest', ], 'include_dirs': [ @@ -16,15 +18,35 @@ ], 'sources': [ # TODO(phajdan.jr): All of those files should live in content/test. + 'browser/geolocation/arbitrator_dependency_factories_for_test.cc', + 'browser/geolocation/arbitrator_dependency_factories_for_test.h', + 'browser/geolocation/fake_access_token_store.cc', + 'browser/geolocation/fake_access_token_store.h', + 'browser/geolocation/mock_location_provider.cc', + 'browser/geolocation/mock_location_provider.h', + 'browser/mock_content_browser_client.cc', + 'browser/mock_resource_context.cc', + 'browser/mock_resource_context.h', + 'browser/renderer_host/media/mock_media_observer.cc', + 'browser/renderer_host/media/mock_media_observer.h', 'common/test_url_constants.cc', 'common/test_url_constants.h', 'renderer/mock_content_renderer_client.cc', 'test/content_test_suite.cc', 'test/content_test_suite.h', + 'test/test_browser_context.cc', + 'test/test_browser_context.h', 'test/test_content_client.cc', 'test/test_content_client.h', 'test/test_url_fetcher_factory.cc', 'test/test_url_fetcher_factory.h', + + # TODO(phajdan.jr): Those files should be moved to webkit + # test support target. + '../webkit/appcache/appcache_test_helper.cc', + '../webkit/appcache/appcache_test_helper.h', + '../webkit/quota/mock_special_storage_policy.cc', + '../webkit/quota/mock_special_storage_policy.h', ], }, { @@ -48,8 +70,21 @@ '..', ], 'sources': [ + 'browser/appcache/chrome_appcache_service_unittest.cc', 'browser/browser_thread_unittest.cc', + 'browser/browser_url_handler_unittest.cc', 'browser/child_process_security_policy_unittest.cc', + 'browser/device_orientation/provider_unittest.cc', + 'browser/download/base_file_unittest.cc', + 'browser/download/download_status_updater_unittest.cc', + 'browser/geolocation/device_data_provider_unittest.cc', + 'browser/geolocation/gateway_data_provider_common_unittest.cc', + 'browser/gpu/gpu_blacklist_unittest.cc', + 'browser/renderer_host/media/audio_input_device_manager_unittest.cc', + 'browser/renderer_host/media/audio_renderer_host_unittest.cc', + 'browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc', + 'browser/renderer_host/media/video_capture_host_unittest.cc', + 'browser/renderer_host/media/video_capture_manager_unittest.cc', 'browser/ssl/ssl_host_state_unittest.cc', 'browser/trace_subscriber_stdio_unittest.cc', 'common/process_watcher_unittest.cc', diff --git a/content/test/DEPS b/content/test/DEPS new file mode 100644 index 0000000..cf47233 --- /dev/null +++ b/content/test/DEPS @@ -0,0 +1,4 @@ +include_rules = [ + # Testing utilities can access anything in content/ + "+content", +] diff --git a/content/test/content_test_suite.cc b/content/test/content_test_suite.cc index 2cfc1e5..3777570 100644 --- a/content/test/content_test_suite.cc +++ b/content/test/content_test_suite.cc @@ -6,7 +6,9 @@ #include "base/logging.h" #include "base/memory/scoped_ptr.h" +#include "content/browser/mock_content_browser_client.h" #include "content/common/content_client.h" +#include "content/common/notification_service.h" #include "content/test/test_content_client.h" #include "testing/gtest/include/gtest/gtest.h" @@ -18,19 +20,30 @@ class TestContentClientInitializer : public testing::EmptyTestEventListener { } virtual void OnTestStart(const testing::TestInfo& test_info) OVERRIDE { + notification_service_.reset(new NotificationService()); + DCHECK(!content::GetContentClient()); content_client_.reset(new TestContentClient); content::SetContentClient(content_client_.get()); + + content_browser_client_.reset(new content::MockContentBrowserClient()); + content_client_->set_browser(content_browser_client_.get()); } virtual void OnTestEnd(const testing::TestInfo& test_info) OVERRIDE { + notification_service_.reset(); + DCHECK_EQ(content_client_.get(), content::GetContentClient()); content::SetContentClient(NULL); content_client_.reset(); + + content_browser_client_.reset(); } private: + scoped_ptr<NotificationService> notification_service_; scoped_ptr<content::ContentClient> content_client_; + scoped_ptr<content::ContentBrowserClient> content_browser_client_; DISALLOW_COPY_AND_ASSIGN(TestContentClientInitializer); }; diff --git a/content/test/content_test_suite.h b/content/test/content_test_suite.h index e6afe29..6a2b948 100644 --- a/content/test/content_test_suite.h +++ b/content/test/content_test_suite.h @@ -8,6 +8,7 @@ #include "base/compiler_specific.h" #include "base/test/test_suite.h" +#include "base/win/scoped_com_initializer.h" class ContentTestSuite : public base::TestSuite { public: @@ -17,6 +18,9 @@ class ContentTestSuite : public base::TestSuite { protected: virtual void Initialize() OVERRIDE; + private: + base::win::ScopedCOMInitializer com_initializer_; + DISALLOW_COPY_AND_ASSIGN(ContentTestSuite); }; diff --git a/content/test/test_browser_context.cc b/content/test/test_browser_context.cc new file mode 100644 index 0000000..728b98f --- /dev/null +++ b/content/test/test_browser_context.cc @@ -0,0 +1,81 @@ +// 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 "content/test/test_browser_context.h" + +#include "base/file_path.h" +#include "content/browser/mock_resource_context.h" + +TestBrowserContext::TestBrowserContext() { +} + +TestBrowserContext::~TestBrowserContext() { +} + +FilePath TestBrowserContext::GetPath() { + return FilePath(); +} + +bool TestBrowserContext::IsOffTheRecord() { + return false; +} + +webkit_database::DatabaseTracker* TestBrowserContext::GetDatabaseTracker() { + return NULL; +} + +SSLHostState* TestBrowserContext::GetSSLHostState() { + return NULL; +} + +DownloadManager* TestBrowserContext::GetDownloadManager() { + return NULL; +} + +bool TestBrowserContext::HasCreatedDownloadManager() const { + return false; +} + +quota::QuotaManager* TestBrowserContext::GetQuotaManager() { + return NULL; +} + +net::URLRequestContextGetter* TestBrowserContext::GetRequestContext() { + return NULL; +} + +net::URLRequestContextGetter* +TestBrowserContext::GetRequestContextForRenderProcess(int renderer_child_id) { + return NULL; +} + +net::URLRequestContextGetter* TestBrowserContext::GetRequestContextForMedia() { + return NULL; +} + +const content::ResourceContext& TestBrowserContext::GetResourceContext() { + // TODO(phajdan.jr): Get rid of this nasty global. + return *content::MockResourceContext::GetInstance(); +} + +HostZoomMap* TestBrowserContext::GetHostZoomMap() { + return NULL; +} + +GeolocationPermissionContext* +TestBrowserContext::GetGeolocationPermissionContext() { + return NULL; +} + +bool TestBrowserContext::DidLastSessionExitCleanly() { + return true; +} + +WebKitContext* TestBrowserContext::GetWebKitContext() { + return NULL; +} + +ChromeBlobStorageContext* TestBrowserContext::GetBlobStorageContext() { + return NULL; +} diff --git a/content/test/test_browser_context.h b/content/test/test_browser_context.h new file mode 100644 index 0000000..1ec01cf --- /dev/null +++ b/content/test/test_browser_context.h @@ -0,0 +1,40 @@ +// 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. + +#ifndef CONTENT_TEST_TEST_BROWSER_CONTEXT_H_ +#define CONTENT_TEST_TEST_BROWSER_CONTEXT_H_ +#pragma once + +#include "base/compiler_specific.h" +#include "content/browser/browser_context.h" + +class TestBrowserContext : public content::BrowserContext { + public: + TestBrowserContext(); + virtual ~TestBrowserContext(); + + virtual FilePath GetPath() OVERRIDE; + virtual bool IsOffTheRecord() OVERRIDE; + virtual webkit_database::DatabaseTracker* GetDatabaseTracker() OVERRIDE; + virtual SSLHostState* GetSSLHostState() OVERRIDE; + virtual DownloadManager* GetDownloadManager() OVERRIDE; + virtual bool HasCreatedDownloadManager() const OVERRIDE; + virtual quota::QuotaManager* GetQuotaManager() OVERRIDE; + virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE; + virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess( + int renderer_child_id) OVERRIDE; + virtual net::URLRequestContextGetter* GetRequestContextForMedia() OVERRIDE; + virtual const content::ResourceContext& GetResourceContext() OVERRIDE; + virtual HostZoomMap* GetHostZoomMap() OVERRIDE; + virtual GeolocationPermissionContext* GetGeolocationPermissionContext() + OVERRIDE; + virtual bool DidLastSessionExitCleanly() OVERRIDE; + virtual WebKitContext* GetWebKitContext() OVERRIDE; + virtual ChromeBlobStorageContext* GetBlobStorageContext() OVERRIDE; + + private: + DISALLOW_COPY_AND_ASSIGN(TestBrowserContext); +}; + +#endif // CONTENT_TEST_TEST_BROWSER_CONTEXT_H_ |