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

Side by Side Diff: chrome/browser/search/iframe_source_unittest.cc

Issue 407093011: Allow URLRequests from one context to have different NetworkDelegates. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix new tests Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/search/iframe_source.h" 5 #include "chrome/browser/search/iframe_source.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/ref_counted_memory.h" 8 #include "base/memory/ref_counted_memory.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 86
87 TestIframeSource* source() { return source_.get(); } 87 TestIframeSource* source() { return source_.get(); }
88 88
89 std::string response_string() { 89 std::string response_string() {
90 if (response_.get()) { 90 if (response_.get()) {
91 return std::string(response_->front_as<char>(), response_->size()); 91 return std::string(response_->front_as<char>(), response_->size());
92 } 92 }
93 return ""; 93 return "";
94 } 94 }
95 95
96 net::URLRequest* MockRequest( 96 scoped_ptr<net::URLRequest> MockRequest(
97 const std::string& url, 97 const std::string& url,
98 bool allocate_info, 98 bool allocate_info,
99 int render_process_id, 99 int render_process_id,
100 int render_frame_id) { 100 int render_frame_id) {
101 net::URLRequest* request = 101 scoped_ptr<net::URLRequest> request(
102 new net::URLRequest(GURL(url), 102 resource_context_.GetRequestContext()->CreateRequest(
103 net::DEFAULT_PRIORITY, 103 GURL(url),
104 NULL, 104 net::DEFAULT_PRIORITY,
105 resource_context_.GetRequestContext()); 105 NULL,
106 NULL));
106 if (allocate_info) { 107 if (allocate_info) {
107 content::ResourceRequestInfo::AllocateForTesting( 108 content::ResourceRequestInfo::AllocateForTesting(
108 request, 109 request.get(),
109 content::RESOURCE_TYPE_SUB_FRAME, 110 content::RESOURCE_TYPE_SUB_FRAME,
110 &resource_context_, 111 &resource_context_,
111 render_process_id, 112 render_process_id,
112 render_frame_id, 113 render_frame_id,
113 MSG_ROUTING_NONE, 114 MSG_ROUTING_NONE,
114 false); 115 false);
115 } 116 }
116 return request; 117 return request.Pass();
117 } 118 }
118 119
119 void SendResource(int resource_id) { 120 void SendResource(int resource_id) {
120 source()->SendResource(resource_id, callback_); 121 source()->SendResource(resource_id, callback_);
121 } 122 }
122 123
123 void SendJSWithOrigin( 124 void SendJSWithOrigin(
124 int resource_id, 125 int resource_id,
125 int render_process_id, 126 int render_process_id,
126 int render_frame_id) { 127 int render_frame_id) {
(...skipping 26 matching lines...) Expand all
153 net::TestURLRequestContext test_url_request_context_; 154 net::TestURLRequestContext test_url_request_context_;
154 content::MockResourceContext resource_context_; 155 content::MockResourceContext resource_context_;
155 scoped_ptr<TestIframeSource> source_; 156 scoped_ptr<TestIframeSource> source_;
156 content::URLDataSource::GotDataCallback callback_; 157 content::URLDataSource::GotDataCallback callback_;
157 scoped_refptr<InstantIOContext> instant_io_context_; 158 scoped_refptr<InstantIOContext> instant_io_context_;
158 scoped_refptr<base::RefCountedMemory> response_; 159 scoped_refptr<base::RefCountedMemory> response_;
159 }; 160 };
160 161
161 TEST_F(IframeSourceTest, ShouldServiceRequest) { 162 TEST_F(IframeSourceTest, ShouldServiceRequest) {
162 scoped_ptr<net::URLRequest> request; 163 scoped_ptr<net::URLRequest> request;
163 request.reset(MockRequest("http://test/loader.js", true, 164 request = MockRequest("http://test/loader.js", true,
164 kNonInstantRendererPID, 0)); 165 kNonInstantRendererPID, 0);
165 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 166 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
166 request.reset(MockRequest("chrome-search://bogus/valid.js", true, 167 request = MockRequest("chrome-search://bogus/valid.js", true,
167 kInstantRendererPID, 0)); 168 kInstantRendererPID, 0);
168 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 169 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
169 request.reset(MockRequest("chrome-search://test/bogus.js", true, 170 request = MockRequest("chrome-search://test/bogus.js", true,
170 kInstantRendererPID, 0)); 171 kInstantRendererPID, 0);
171 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 172 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
172 request.reset(MockRequest("chrome-search://test/valid.js", true, 173 request = MockRequest("chrome-search://test/valid.js", true,
173 kInstantRendererPID, 0)); 174 kInstantRendererPID, 0);
174 EXPECT_TRUE(source()->ShouldServiceRequest(request.get())); 175 EXPECT_TRUE(source()->ShouldServiceRequest(request.get()));
175 request.reset(MockRequest("chrome-search://test/valid.js", true, 176 request = MockRequest("chrome-search://test/valid.js", true,
176 kNonInstantRendererPID, 0)); 177 kNonInstantRendererPID, 0);
177 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 178 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
178 request.reset(MockRequest("chrome-search://test/valid.js", true, 179 request = MockRequest("chrome-search://test/valid.js", true,
179 kInvalidRendererPID, 0)); 180 kInvalidRendererPID, 0);
180 EXPECT_FALSE(source()->ShouldServiceRequest(request.get())); 181 EXPECT_FALSE(source()->ShouldServiceRequest(request.get()));
181 } 182 }
182 183
183 TEST_F(IframeSourceTest, GetMimeType) { 184 TEST_F(IframeSourceTest, GetMimeType) {
184 // URLDataManagerBackend does not include / in path_and_query. 185 // URLDataManagerBackend does not include / in path_and_query.
185 EXPECT_EQ("text/html", source()->GetMimeType("foo.html")); 186 EXPECT_EQ("text/html", source()->GetMimeType("foo.html"));
186 EXPECT_EQ("application/javascript", source()->GetMimeType("foo.js")); 187 EXPECT_EQ("application/javascript", source()->GetMimeType("foo.js"));
187 EXPECT_EQ("text/css", source()->GetMimeType("foo.css")); 188 EXPECT_EQ("text/css", source()->GetMimeType("foo.css"));
188 EXPECT_EQ("image/png", source()->GetMimeType("foo.png")); 189 EXPECT_EQ("image/png", source()->GetMimeType("foo.png"));
189 EXPECT_EQ("", source()->GetMimeType("bogus")); 190 EXPECT_EQ("", source()->GetMimeType("bogus"));
190 } 191 }
191 192
192 TEST_F(IframeSourceTest, SendResource) { 193 TEST_F(IframeSourceTest, SendResource) {
193 SendResource(IDR_MOST_VISITED_TITLE_HTML); 194 SendResource(IDR_MOST_VISITED_TITLE_HTML);
194 EXPECT_FALSE(response_string().empty()); 195 EXPECT_FALSE(response_string().empty());
195 } 196 }
196 197
197 TEST_F(IframeSourceTest, SendJSWithOrigin) { 198 TEST_F(IframeSourceTest, SendJSWithOrigin) {
198 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kInstantRendererPID, 0); 199 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kInstantRendererPID, 0);
199 EXPECT_FALSE(response_string().empty()); 200 EXPECT_FALSE(response_string().empty());
200 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kNonInstantRendererPID, 0); 201 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kNonInstantRendererPID, 0);
201 EXPECT_FALSE(response_string().empty()); 202 EXPECT_FALSE(response_string().empty());
202 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kInvalidRendererPID, 0); 203 SendJSWithOrigin(IDR_MOST_VISITED_TITLE_JS, kInvalidRendererPID, 0);
203 EXPECT_TRUE(response_string().empty()); 204 EXPECT_TRUE(response_string().empty());
204 } 205 }
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_tracker_unittest.cc ('k') | cloud_print/service/service_state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698