Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(613)

Unified Diff: chrome/browser/chromeos/gview_request_interceptor_unittest.cc

Issue 7019030: Remove ProtocolFactory/Interceptor uses in GViewRequestInterceptor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix release. Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/gview_request_interceptor.cc ('k') | chrome/browser/profiles/profile_io_data.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/gview_request_interceptor_unittest.cc
diff --git a/chrome/browser/chromeos/gview_request_interceptor_unittest.cc b/chrome/browser/chromeos/gview_request_interceptor_unittest.cc
index 0723a967170e928b6b5d3ce8ce905462e370955a..f841bf5d9b0cda20a2c715c707a92eb83def3f70 100644
--- a/chrome/browser/chromeos/gview_request_interceptor_unittest.cc
+++ b/chrome/browser/chromeos/gview_request_interceptor_unittest.cc
@@ -11,6 +11,7 @@
#include "net/base/load_flags.h"
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_job.h"
+#include "net/url_request/url_request_job_factory.h"
#include "net/url_request/url_request_test_job.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -18,6 +19,8 @@
namespace chromeos {
+namespace {
+
class GViewURLRequestTestJob : public net::URLRequestTestJob {
public:
explicit GViewURLRequestTestJob(net::URLRequest* request)
@@ -47,23 +50,25 @@ class GViewURLRequestTestJob : public net::URLRequestTestJob {
~GViewURLRequestTestJob() {}
};
-class GViewRequestInterceptorTest : public testing::Test {
+class GViewRequestProtocolFactory
+ : public net::URLRequestJobFactory::ProtocolHandler {
public:
- virtual void SetUp() {
- net::URLRequest::RegisterProtocolFactory("http",
- &GViewRequestInterceptorTest::Factory);
- interceptor_ = GViewRequestInterceptor::GetInstance();
- ASSERT_TRUE(PathService::Get(chrome::FILE_PDF_PLUGIN, &pdf_path_));
- }
+ GViewRequestProtocolFactory() {}
+ virtual ~GViewRequestProtocolFactory() {}
- virtual void TearDown() {
- net::URLRequest::RegisterProtocolFactory("http", NULL);
- message_loop_.RunAllPending();
+ virtual net::URLRequestJob* MaybeCreateJob(net::URLRequest* request) const {
+ return new GViewURLRequestTestJob(request);
}
+};
- static net::URLRequestJob* Factory(net::URLRequest* request,
- const std::string& scheme) {
- return new GViewURLRequestTestJob(request);
+class GViewRequestInterceptorTest : public testing::Test {
+ public:
+ virtual void SetUp() {
+ job_factory_.SetProtocolHandler("http", new GViewRequestProtocolFactory);
+ job_factory_.AddInterceptor(new GViewRequestInterceptor);
+ request_context_ = new TestURLRequestContext;
+ request_context_->set_job_factory(&job_factory_);
+ ASSERT_TRUE(PathService::Get(chrome::FILE_PDF_PLUGIN, &pdf_path_));
}
void RegisterPDFPlugin() {
@@ -102,13 +107,15 @@ class GViewRequestInterceptorTest : public testing::Test {
protected:
MessageLoopForIO message_loop_;
+ net::URLRequestJobFactory job_factory_;
+ scoped_refptr<TestURLRequestContext> request_context_;
TestDelegate test_delegate_;
- net::URLRequest::Interceptor* interceptor_;
FilePath pdf_path_;
};
TEST_F(GViewRequestInterceptorTest, DoNotInterceptHtml) {
net::URLRequest request(GURL("http://foo.com/index.html"), &test_delegate_);
+ request.set_context(request_context_);
request.Start();
MessageLoop::current()->Run();
EXPECT_EQ(0, test_delegate_.received_redirect_count());
@@ -117,6 +124,7 @@ TEST_F(GViewRequestInterceptorTest, DoNotInterceptHtml) {
TEST_F(GViewRequestInterceptorTest, DoNotInterceptDownload) {
net::URLRequest request(GURL("http://foo.com/file.pdf"), &test_delegate_);
+ request.set_context(request_context_);
request.set_load_flags(net::LOAD_IS_DOWNLOAD);
request.Start();
MessageLoop::current()->Run();
@@ -135,6 +143,7 @@ TEST_F(GViewRequestInterceptorTest, DoNotInterceptPdfWhenEnabled) {
}
net::URLRequest request(GURL("http://foo.com/file.pdf"), &test_delegate_);
+ request.set_context(request_context_);
request.Start();
MessageLoop::current()->Run();
EXPECT_EQ(0, test_delegate_.received_redirect_count());
@@ -152,6 +161,7 @@ TEST_F(GViewRequestInterceptorTest, InterceptPdfWhenDisabled) {
}
net::URLRequest request(GURL("http://foo.com/file.pdf"), &test_delegate_);
+ request.set_context(request_context_);
request.Start();
MessageLoop::current()->Run();
EXPECT_EQ(1, test_delegate_.received_redirect_count());
@@ -165,6 +175,7 @@ TEST_F(GViewRequestInterceptorTest, InterceptPdfWithNoPlugin) {
SetPDFPluginLoadedState(false, &enabled);
net::URLRequest request(GURL("http://foo.com/file.pdf"), &test_delegate_);
+ request.set_context(request_context_);
request.Start();
MessageLoop::current()->Run();
EXPECT_EQ(1, test_delegate_.received_redirect_count());
@@ -174,6 +185,7 @@ TEST_F(GViewRequestInterceptorTest, InterceptPdfWithNoPlugin) {
TEST_F(GViewRequestInterceptorTest, InterceptPowerpoint) {
net::URLRequest request(GURL("http://foo.com/file.ppt"), &test_delegate_);
+ request.set_context(request_context_);
request.Start();
MessageLoop::current()->Run();
EXPECT_EQ(1, test_delegate_.received_redirect_count());
@@ -181,4 +193,6 @@ TEST_F(GViewRequestInterceptorTest, InterceptPowerpoint) {
request.url());
}
+} // namespace
+
} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/gview_request_interceptor.cc ('k') | chrome/browser/profiles/profile_io_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698