summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-23 16:48:55 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-23 16:48:55 +0000
commit266c4b404bd86f6122147922e0cdc95f09cccb75 (patch)
tree1f08a7d02c2d2dfc7938e45c3b8609128bdae0e3
parent92d0d842e665fac543f37cd3d4395b114fee781d (diff)
downloadchromium_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.gypi28
-rw-r--r--content/browser/appcache/chrome_appcache_service_unittest.cc4
-rw-r--r--content/browser/browser_url_handler_unittest.cc23
-rw-r--r--content/browser/content_browser_client.h2
-rw-r--r--content/browser/mock_content_browser_client.cc5
-rw-r--r--content/browser/mock_content_browser_client.h2
-rw-r--r--content/content_browser.gypi1
-rw-r--r--content/content_tests.gypi35
-rw-r--r--content/test/DEPS4
-rw-r--r--content/test/content_test_suite.cc13
-rw-r--r--content/test/content_test_suite.h4
-rw-r--r--content/test/test_browser_context.cc81
-rw-r--r--content/test/test_browser_context.h40
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_