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

Side by Side Diff: webkit/appcache/appcache_url_request_job_unittest.cc

Issue 16155009: Update webkit/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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
« no previous file with comments | « webkit/appcache/appcache_url_request_job.cc ('k') | webkit/appcache/mock_appcache_storage.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <stack> 5 #include <stack>
6 #include <utility> 6 #include <utility>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 } else { 104 } else {
105 RequestComplete(); 105 RequestComplete();
106 } 106 }
107 } 107 }
108 108
109 void ReadSome(net::URLRequest* request) { 109 void ReadSome(net::URLRequest* request) {
110 DCHECK(amount_received_ + kBlockSize <= kNumBlocks * kBlockSize); 110 DCHECK(amount_received_ + kBlockSize <= kNumBlocks * kBlockSize);
111 scoped_refptr<IOBuffer> wrapped_buffer( 111 scoped_refptr<IOBuffer> wrapped_buffer(
112 new net::WrappedIOBuffer(received_data_->data() + amount_received_)); 112 new net::WrappedIOBuffer(received_data_->data() + amount_received_));
113 int bytes_read = 0; 113 int bytes_read = 0;
114 EXPECT_FALSE(request->Read(wrapped_buffer, kBlockSize, &bytes_read)); 114 EXPECT_FALSE(
115 request->Read(wrapped_buffer.get(), kBlockSize, &bytes_read));
115 EXPECT_EQ(0, bytes_read); 116 EXPECT_EQ(0, bytes_read);
116 } 117 }
117 118
118 void RequestComplete() { 119 void RequestComplete() {
119 test_->ScheduleNextTask(); 120 test_->ScheduleNextTask();
120 } 121 }
121 122
122 AppCacheURLRequestJobTest* test_; 123 AppCacheURLRequestJobTest* test_;
123 net::HttpResponseInfo received_info_; 124 net::HttpResponseInfo received_info_;
124 scoped_refptr<net::IOBuffer> received_data_; 125 scoped_refptr<net::IOBuffer> received_data_;
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 task.Run(); 246 task.Run();
246 else 247 else
247 base::MessageLoop::current()->PostTask(FROM_HERE, task); 248 base::MessageLoop::current()->PostTask(FROM_HERE, task);
248 } 249 }
249 250
250 // Wrappers to call AppCacheResponseReader/Writer Read and Write methods 251 // Wrappers to call AppCacheResponseReader/Writer Read and Write methods
251 252
252 void WriteBasicResponse() { 253 void WriteBasicResponse() {
253 scoped_refptr<IOBuffer> body(new WrappedIOBuffer(kHttpBasicBody)); 254 scoped_refptr<IOBuffer> body(new WrappedIOBuffer(kHttpBasicBody));
254 std::string raw_headers(kHttpBasicHeaders, arraysize(kHttpBasicHeaders)); 255 std::string raw_headers(kHttpBasicHeaders, arraysize(kHttpBasicHeaders));
255 WriteResponse(MakeHttpResponseInfo(raw_headers), body, 256 WriteResponse(
256 strlen(kHttpBasicBody)); 257 MakeHttpResponseInfo(raw_headers), body.get(), strlen(kHttpBasicBody));
257 } 258 }
258 259
259 void WriteResponse(net::HttpResponseInfo* head, 260 void WriteResponse(net::HttpResponseInfo* head,
260 IOBuffer* body, int body_len) { 261 IOBuffer* body, int body_len) {
261 DCHECK(body); 262 DCHECK(body);
262 scoped_refptr<IOBuffer> body_ref(body); 263 scoped_refptr<IOBuffer> body_ref(body);
263 PushNextTask(base::Bind(&AppCacheURLRequestJobTest::WriteResponseBody, 264 PushNextTask(base::Bind(&AppCacheURLRequestJobTest::WriteResponseBody,
264 base::Unretained(this), body_ref, body_len)); 265 base::Unretained(this), body_ref, body_len));
265 WriteResponseHead(head); 266 WriteResponseHead(head);
266 } 267 }
267 268
268 void WriteResponseHead(net::HttpResponseInfo* head) { 269 void WriteResponseHead(net::HttpResponseInfo* head) {
269 EXPECT_FALSE(writer_->IsWritePending()); 270 EXPECT_FALSE(writer_->IsWritePending());
270 expected_write_result_ = GetHttpResponseInfoSize(head); 271 expected_write_result_ = GetHttpResponseInfoSize(head);
271 write_info_buffer_ = new HttpResponseInfoIOBuffer(head); 272 write_info_buffer_ = new HttpResponseInfoIOBuffer(head);
272 writer_->WriteInfo( 273 writer_->WriteInfo(
273 write_info_buffer_, 274 write_info_buffer_.get(),
274 base::Bind(&AppCacheURLRequestJobTest::OnWriteInfoComplete, 275 base::Bind(&AppCacheURLRequestJobTest::OnWriteInfoComplete,
275 base::Unretained(this))); 276 base::Unretained(this)));
276 } 277 }
277 278
278 void WriteResponseBody(scoped_refptr<IOBuffer> io_buffer, int buf_len) { 279 void WriteResponseBody(scoped_refptr<IOBuffer> io_buffer, int buf_len) {
279 EXPECT_FALSE(writer_->IsWritePending()); 280 EXPECT_FALSE(writer_->IsWritePending());
280 write_buffer_ = io_buffer; 281 write_buffer_ = io_buffer;
281 expected_write_result_ = buf_len; 282 expected_write_result_ = buf_len;
282 writer_->WriteData( 283 writer_->WriteData(write_buffer_.get(),
283 write_buffer_, buf_len, 284 buf_len,
284 base::Bind(&AppCacheURLRequestJobTest::OnWriteComplete, 285 base::Bind(&AppCacheURLRequestJobTest::OnWriteComplete,
285 base::Unretained(this))); 286 base::Unretained(this)));
286 } 287 }
287 288
288 void ReadResponseBody(scoped_refptr<IOBuffer> io_buffer, int buf_len) { 289 void ReadResponseBody(scoped_refptr<IOBuffer> io_buffer, int buf_len) {
289 EXPECT_FALSE(reader_->IsReadPending()); 290 EXPECT_FALSE(reader_->IsReadPending());
290 read_buffer_ = io_buffer; 291 read_buffer_ = io_buffer;
291 expected_read_result_ = buf_len; 292 expected_read_result_ = buf_len;
292 reader_->ReadData( 293 reader_->ReadData(read_buffer_.get(),
293 read_buffer_, buf_len, 294 buf_len,
294 base::Bind(&AppCacheURLRequestJobTest::OnReadComplete, 295 base::Bind(&AppCacheURLRequestJobTest::OnReadComplete,
295 base::Unretained(this))); 296 base::Unretained(this)));
296 } 297 }
297 298
298 // AppCacheResponseReader / Writer completion callbacks 299 // AppCacheResponseReader / Writer completion callbacks
299 300
300 void OnWriteInfoComplete(int result) { 301 void OnWriteInfoComplete(int result) {
301 EXPECT_FALSE(writer_->IsWritePending()); 302 EXPECT_FALSE(writer_->IsWritePending());
302 EXPECT_EQ(expected_write_result_, result); 303 EXPECT_EQ(expected_write_result_, result);
303 ScheduleNextTask(); 304 ScheduleNextTask();
304 } 305 }
305 306
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 if (start_after_delivery_orders) { 537 if (start_after_delivery_orders) {
537 job->DeliverAppCachedResponse( 538 job->DeliverAppCachedResponse(
538 GURL(), 0, 111, 539 GURL(), 0, 111,
539 AppCacheEntry(AppCacheEntry::EXPLICIT, written_response_id_), 540 AppCacheEntry(AppCacheEntry::EXPLICIT, written_response_id_),
540 false); 541 false);
541 EXPECT_TRUE(job->is_delivering_appcache_response()); 542 EXPECT_TRUE(job->is_delivering_appcache_response());
542 } 543 }
543 544
544 // Start the request. 545 // Start the request.
545 EXPECT_FALSE(job->has_been_started()); 546 EXPECT_FALSE(job->has_been_started());
546 mock_factory_job_ = job; 547 mock_factory_job_ = job.get();
547 request_->Start(); 548 request_->Start();
548 EXPECT_FALSE(mock_factory_job_); 549 EXPECT_FALSE(mock_factory_job_);
549 EXPECT_TRUE(job->has_been_started()); 550 EXPECT_TRUE(job->has_been_started());
550 551
551 if (!start_after_delivery_orders) { 552 if (!start_after_delivery_orders) {
552 job->DeliverAppCachedResponse( 553 job->DeliverAppCachedResponse(
553 GURL(), 0, 111, 554 GURL(), 0, 111,
554 AppCacheEntry(AppCacheEntry::EXPLICIT, written_response_id_), 555 AppCacheEntry(AppCacheEntry::EXPLICIT, written_response_id_),
555 false); 556 false);
556 EXPECT_TRUE(job->is_delivering_appcache_response()); 557 EXPECT_TRUE(job->is_delivering_appcache_response());
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 596
596 void WriteLargeResponse() { 597 void WriteLargeResponse() {
597 // 3, 1k blocks 598 // 3, 1k blocks
598 static const char kHttpHeaders[] = 599 static const char kHttpHeaders[] =
599 "HTTP/1.0 200 OK\0Content-Length: 3072\0\0"; 600 "HTTP/1.0 200 OK\0Content-Length: 3072\0\0";
600 scoped_refptr<IOBuffer> body(new IOBuffer(kBlockSize * 3)); 601 scoped_refptr<IOBuffer> body(new IOBuffer(kBlockSize * 3));
601 char* p = body->data(); 602 char* p = body->data();
602 for (int i = 0; i < 3; ++i, p += kBlockSize) 603 for (int i = 0; i < 3; ++i, p += kBlockSize)
603 FillData(i + 1, p, kBlockSize); 604 FillData(i + 1, p, kBlockSize);
604 std::string raw_headers(kHttpHeaders, arraysize(kHttpHeaders)); 605 std::string raw_headers(kHttpHeaders, arraysize(kHttpHeaders));
605 WriteResponse(MakeHttpResponseInfo(raw_headers), body, kBlockSize * 3); 606 WriteResponse(
607 MakeHttpResponseInfo(raw_headers), body.get(), kBlockSize * 3);
606 } 608 }
607 609
608 void VerifyDeliverLargeAppCachedResponse() { 610 void VerifyDeliverLargeAppCachedResponse() {
609 EXPECT_TRUE(request_->status().is_success()); 611 EXPECT_TRUE(request_->status().is_success());
610 EXPECT_TRUE(CompareHttpResponseInfos( 612 EXPECT_TRUE(CompareHttpResponseInfos(
611 write_info_buffer_->http_info.get(), 613 write_info_buffer_->http_info.get(),
612 &url_request_delegate_->received_info_)); 614 &url_request_delegate_->received_info_));
613 EXPECT_EQ(3072, url_request_delegate_->amount_received_); 615 EXPECT_EQ(3072, url_request_delegate_->amount_received_);
614 char* p = url_request_delegate_->received_data_->data(); 616 char* p = url_request_delegate_->received_data_->data();
615 for (int i = 0; i < 3; ++i, p += kBlockSize) 617 for (int i = 0; i < 3; ++i, p += kBlockSize)
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 scoped_refptr<AppCacheURLRequestJob> job(new AppCacheURLRequestJob( 651 scoped_refptr<AppCacheURLRequestJob> job(new AppCacheURLRequestJob(
650 request_.get(), NULL, storage)); 652 request_.get(), NULL, storage));
651 job->DeliverAppCachedResponse( 653 job->DeliverAppCachedResponse(
652 GURL(), 0, 111, 654 GURL(), 0, 111,
653 AppCacheEntry(AppCacheEntry::EXPLICIT, written_response_id_), 655 AppCacheEntry(AppCacheEntry::EXPLICIT, written_response_id_),
654 false); 656 false);
655 EXPECT_TRUE(job->is_delivering_appcache_response()); 657 EXPECT_TRUE(job->is_delivering_appcache_response());
656 658
657 // Start the request. 659 // Start the request.
658 EXPECT_FALSE(job->has_been_started()); 660 EXPECT_FALSE(job->has_been_started());
659 mock_factory_job_ = job; 661 mock_factory_job_ = job.get();
660 request_->Start(); 662 request_->Start();
661 EXPECT_FALSE(mock_factory_job_); 663 EXPECT_FALSE(mock_factory_job_);
662 EXPECT_TRUE(job->has_been_started()); 664 EXPECT_TRUE(job->has_been_started());
663 // Completion is async. 665 // Completion is async.
664 } 666 }
665 667
666 void VerifyDeliverPartialResponse() { 668 void VerifyDeliverPartialResponse() {
667 EXPECT_TRUE(request_->status().is_success()); 669 EXPECT_TRUE(request_->status().is_success());
668 EXPECT_EQ(3, url_request_delegate_->amount_received_); 670 EXPECT_EQ(3, url_request_delegate_->amount_received_);
669 EXPECT_EQ(0, memcmp(kHttpBasicBody + 1, 671 EXPECT_EQ(0, memcmp(kHttpBasicBody + 1,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
798 800
799 TEST_F(AppCacheURLRequestJobTest, CancelRequest) { 801 TEST_F(AppCacheURLRequestJobTest, CancelRequest) {
800 RunTestOnIOThread(&AppCacheURLRequestJobTest::CancelRequest); 802 RunTestOnIOThread(&AppCacheURLRequestJobTest::CancelRequest);
801 } 803 }
802 804
803 TEST_F(AppCacheURLRequestJobTest, CancelRequestWithIOPending) { 805 TEST_F(AppCacheURLRequestJobTest, CancelRequestWithIOPending) {
804 RunTestOnIOThread(&AppCacheURLRequestJobTest::CancelRequestWithIOPending); 806 RunTestOnIOThread(&AppCacheURLRequestJobTest::CancelRequestWithIOPending);
805 } 807 }
806 808
807 } // namespace appcache 809 } // namespace appcache
OLDNEW
« no previous file with comments | « webkit/appcache/appcache_url_request_job.cc ('k') | webkit/appcache/mock_appcache_storage.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698