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 a3224e02290bb2256df5fe1b9dd8f35622b6b9d5..be7b5bf604f23e599670d1dcbe69d45624223cf3 100644 |
--- a/chrome/browser/chromeos/gview_request_interceptor_unittest.cc |
+++ b/chrome/browser/chromeos/gview_request_interceptor_unittest.cc |
@@ -29,6 +29,16 @@ namespace chromeos { |
namespace { |
+const char kPdfUrl[] = "http://foo.com/file.pdf"; |
+const char kPptUrl[] = "http://foo.com/file.ppt"; |
+const char kHtmlUrl[] = "http://foo.com/index.html"; |
+const char kPdfBlob[] = "blob:blobinternal:///d17c4eef-28e7-42bd-bafa-78d5cb8"; |
+ |
+const char kPdfUrlIntercepted[] = |
+ "http://docs.google.com/gview?url=http%3A//foo.com/file.pdf"; |
+const char kPptUrlIntercepted[] = |
+ "http://docs.google.com/gview?url=http%3A//foo.com/file.ppt"; |
+ |
class GViewURLRequestTestJob : public net::URLRequestTestJob { |
public: |
explicit GViewURLRequestTestJob(net::URLRequest* request) |
@@ -44,9 +54,10 @@ class GViewURLRequestTestJob : public net::URLRequestTestJob { |
// is a request for one of the test URLs that point to viewable |
// content, return an appropraite mime type. Otherwise, return |
// "text/html". |
- if (request_->url() == GURL("http://foo.com/file.pdf")) { |
+ const GURL& request_url = request_->url(); |
+ if (request_url == GURL(kPdfUrl) || request_url == GURL(kPdfBlob)) { |
*mime_type = "application/pdf"; |
- } else if (request_->url() == GURL("http://foo.com/file.ppt")) { |
+ } else if (request_url == GURL(kPptUrl)) { |
*mime_type = "application/vnd.ms-powerpoint"; |
} else { |
*mime_type = "text/html"; |
@@ -193,70 +204,89 @@ class GViewRequestInterceptorTest : public testing::Test { |
}; |
TEST_F(GViewRequestInterceptorTest, DoNotInterceptHtml) { |
- net::URLRequest request(GURL("http://foo.com/index.html"), &test_delegate_); |
+ net::URLRequest request(GURL(kHtmlUrl), &test_delegate_); |
SetupRequest(&request); |
request.Start(); |
MessageLoop::current()->Run(); |
EXPECT_EQ(0, test_delegate_.received_redirect_count()); |
- EXPECT_EQ(GURL("http://foo.com/index.html"), request.url()); |
+ EXPECT_EQ(GURL(kHtmlUrl), request.url()); |
} |
TEST_F(GViewRequestInterceptorTest, DoNotInterceptDownload) { |
- net::URLRequest request(GURL("http://foo.com/file.pdf"), &test_delegate_); |
+ net::URLRequest request(GURL(kPdfUrl), &test_delegate_); |
SetupRequest(&request); |
request.set_load_flags(net::LOAD_IS_DOWNLOAD); |
request.Start(); |
MessageLoop::current()->Run(); |
EXPECT_EQ(0, test_delegate_.received_redirect_count()); |
- EXPECT_EQ(GURL("http://foo.com/file.pdf"), request.url()); |
+ EXPECT_EQ(GURL(kPdfUrl), request.url()); |
} |
TEST_F(GViewRequestInterceptorTest, DoNotInterceptPdfWhenEnabled) { |
SetPDFPluginLoadedState(true); |
plugin_prefs_->EnablePlugin(true, pdf_path_); |
- net::URLRequest request(GURL("http://foo.com/file.pdf"), &test_delegate_); |
+ net::URLRequest request(GURL(kPdfUrl), &test_delegate_); |
SetupRequest(&request); |
request.Start(); |
MessageLoop::current()->Run(); |
EXPECT_EQ(0, test_delegate_.received_redirect_count()); |
- EXPECT_EQ(GURL("http://foo.com/file.pdf"), request.url()); |
+ EXPECT_EQ(GURL(kPdfUrl), request.url()); |
} |
TEST_F(GViewRequestInterceptorTest, InterceptPdfWhenDisabled) { |
SetPDFPluginLoadedState(true); |
plugin_prefs_->EnablePlugin(false, pdf_path_); |
- net::URLRequest request(GURL("http://foo.com/file.pdf"), &test_delegate_); |
+ net::URLRequest request(GURL(kPdfUrl), &test_delegate_); |
SetupRequest(&request); |
request.Start(); |
MessageLoop::current()->Run(); |
EXPECT_EQ(1, test_delegate_.received_redirect_count()); |
- EXPECT_EQ( |
- GURL("http://docs.google.com/gview?url=http%3A//foo.com/file.pdf"), |
- request.url()); |
+ EXPECT_EQ(GURL(kPdfUrlIntercepted), request.url()); |
} |
TEST_F(GViewRequestInterceptorTest, InterceptPdfWithNoPlugin) { |
SetPDFPluginLoadedState(false); |
- net::URLRequest request(GURL("http://foo.com/file.pdf"), &test_delegate_); |
+ net::URLRequest request(GURL(kPdfUrl), &test_delegate_); |
SetupRequest(&request); |
request.Start(); |
MessageLoop::current()->Run(); |
EXPECT_EQ(1, test_delegate_.received_redirect_count()); |
- EXPECT_EQ(GURL("http://docs.google.com/gview?url=http%3A//foo.com/file.pdf"), |
- request.url()); |
+ EXPECT_EQ(GURL(kPdfUrlIntercepted), request.url()); |
} |
TEST_F(GViewRequestInterceptorTest, InterceptPowerpoint) { |
- net::URLRequest request(GURL("http://foo.com/file.ppt"), &test_delegate_); |
+ net::URLRequest request(GURL(kPptUrl), &test_delegate_); |
SetupRequest(&request); |
request.Start(); |
MessageLoop::current()->Run(); |
EXPECT_EQ(1, test_delegate_.received_redirect_count()); |
- EXPECT_EQ(GURL("http://docs.google.com/gview?url=http%3A//foo.com/file.ppt"), |
- request.url()); |
+ EXPECT_EQ(GURL(kPptUrlIntercepted), request.url()); |
+} |
+ |
+TEST_F(GViewRequestInterceptorTest, DoNotInterceptPost) { |
+ SetPDFPluginLoadedState(false); |
+ |
+ net::URLRequest request(GURL(kPdfUrl), &test_delegate_); |
+ SetupRequest(&request); |
+ request.set_method("POST"); |
+ request.Start(); |
+ MessageLoop::current()->Run(); |
+ EXPECT_EQ(0, test_delegate_.received_redirect_count()); |
+ EXPECT_EQ(GURL(kPdfUrl), request.url()); |
+} |
+ |
+TEST_F(GViewRequestInterceptorTest, DoNotInterceptBlob) { |
+ SetPDFPluginLoadedState(false); |
+ |
+ net::URLRequest request(GURL(kPdfBlob), &test_delegate_); |
+ SetupRequest(&request); |
+ request.Start(); |
+ MessageLoop::current()->Run(); |
+ EXPECT_EQ(0, test_delegate_.received_redirect_count()); |
+ EXPECT_EQ(GURL(kPdfBlob), request.url()); |
} |
} // namespace |