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

Side by Side Diff: content/browser/download/download_manager_impl_unittest.cc

Issue 11571025: Initial CL for Downloads resumption. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Incorporated Pawel's comment. Created 7 years, 11 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <set> 5 #include <set>
6 #include <string> 6 #include <string>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 MOCK_METHOD0(ShouldOpenFileBasedOnExtension, bool()); 91 MOCK_METHOD0(ShouldOpenFileBasedOnExtension, bool());
92 MOCK_METHOD0(OpenDownload, void()); 92 MOCK_METHOD0(OpenDownload, void());
93 MOCK_METHOD0(ShowDownloadInShell, void()); 93 MOCK_METHOD0(ShowDownloadInShell, void());
94 MOCK_METHOD0(DangerousDownloadValidated, void()); 94 MOCK_METHOD0(DangerousDownloadValidated, void());
95 MOCK_METHOD3(UpdateProgress, void(int64, int64, const std::string&)); 95 MOCK_METHOD3(UpdateProgress, void(int64, int64, const std::string&));
96 MOCK_METHOD1(Cancel, void(bool)); 96 MOCK_METHOD1(Cancel, void(bool));
97 MOCK_METHOD0(MarkAsComplete, void()); 97 MOCK_METHOD0(MarkAsComplete, void());
98 MOCK_METHOD1(OnAllDataSaved, void(const std::string&)); 98 MOCK_METHOD1(OnAllDataSaved, void(const std::string&));
99 MOCK_METHOD0(OnDownloadedFileRemoved, void()); 99 MOCK_METHOD0(OnDownloadedFileRemoved, void());
100 virtual void Start( 100 virtual void Start(
101 scoped_ptr<DownloadFile> download_file) OVERRIDE { 101 scoped_ptr<DownloadFile> download_file,
102 MockStart(download_file.get()); 102 scoped_ptr<DownloadRequestHandleInterface> req_handle) OVERRIDE {
103 MockStart(download_file.get(), req_handle.get());
103 } 104 }
104 105
105 MOCK_METHOD1(MockStart, void(DownloadFile*)); 106 MOCK_METHOD2(MockStart, void(DownloadFile*, DownloadRequestHandleInterface*));
106 107
107 MOCK_METHOD1(Delete, void(DeleteReason)); 108 MOCK_METHOD1(Delete, void(DeleteReason));
108 MOCK_METHOD0(Remove, void()); 109 MOCK_METHOD0(Remove, void());
109 MOCK_CONST_METHOD1(TimeRemaining, bool(base::TimeDelta*)); 110 MOCK_CONST_METHOD1(TimeRemaining, bool(base::TimeDelta*));
110 MOCK_CONST_METHOD0(CurrentSpeed, int64()); 111 MOCK_CONST_METHOD0(CurrentSpeed, int64());
111 MOCK_CONST_METHOD0(PercentComplete, int()); 112 MOCK_CONST_METHOD0(PercentComplete, int());
112 MOCK_CONST_METHOD0(AllDataSaved, bool()); 113 MOCK_CONST_METHOD0(AllDataSaved, bool());
113 MOCK_CONST_METHOD1(MatchesQuery, bool(const string16& query)); 114 MOCK_CONST_METHOD1(MatchesQuery, bool(const string16& query));
114 MOCK_CONST_METHOD0(IsPartialDownload, bool()); 115 MOCK_CONST_METHOD0(IsPartialDownload, bool());
115 MOCK_CONST_METHOD0(IsInProgress, bool()); 116 MOCK_CONST_METHOD0(IsInProgress, bool());
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 const base::Time& start_time, 230 const base::Time& start_time,
230 const base::Time& end_time, 231 const base::Time& end_time,
231 int64 received_bytes, 232 int64 received_bytes,
232 int64 total_bytes, 233 int64 total_bytes,
233 DownloadItem::DownloadState state, 234 DownloadItem::DownloadState state,
234 bool opened, 235 bool opened,
235 const net::BoundNetLog& bound_net_log) OVERRIDE; 236 const net::BoundNetLog& bound_net_log) OVERRIDE;
236 virtual DownloadItemImpl* CreateActiveItem( 237 virtual DownloadItemImpl* CreateActiveItem(
237 DownloadItemImplDelegate* delegate, 238 DownloadItemImplDelegate* delegate,
238 const DownloadCreateInfo& info, 239 const DownloadCreateInfo& info,
239 scoped_ptr<DownloadRequestHandleInterface> request_handle,
240 const net::BoundNetLog& bound_net_log) OVERRIDE; 240 const net::BoundNetLog& bound_net_log) OVERRIDE;
241 virtual DownloadItemImpl* CreateSavePageItem( 241 virtual DownloadItemImpl* CreateSavePageItem(
242 DownloadItemImplDelegate* delegate, 242 DownloadItemImplDelegate* delegate,
243 const FilePath& path, 243 const FilePath& path,
244 const GURL& url, 244 const GURL& url,
245 DownloadId download_id, 245 DownloadId download_id,
246 const std::string& mime_type, 246 const std::string& mime_type,
247 const net::BoundNetLog& bound_net_log) OVERRIDE; 247 const net::BoundNetLog& bound_net_log) OVERRIDE;
248 248
249 private: 249 private:
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 EXPECT_CALL(*result, GetId()) 300 EXPECT_CALL(*result, GetId())
301 .WillRepeatedly(Return(local_id)); 301 .WillRepeatedly(Return(local_id));
302 items_[local_id] = result; 302 items_[local_id] = result;
303 303
304 return result; 304 return result;
305 } 305 }
306 306
307 DownloadItemImpl* MockDownloadItemFactory::CreateActiveItem( 307 DownloadItemImpl* MockDownloadItemFactory::CreateActiveItem(
308 DownloadItemImplDelegate* delegate, 308 DownloadItemImplDelegate* delegate,
309 const DownloadCreateInfo& info, 309 const DownloadCreateInfo& info,
310 scoped_ptr<DownloadRequestHandleInterface> request_handle,
311 const net::BoundNetLog& bound_net_log) { 310 const net::BoundNetLog& bound_net_log) {
312 int local_id = info.download_id.local(); 311 int local_id = info.download_id.local();
313 DCHECK(items_.find(local_id) == items_.end()); 312 DCHECK(items_.find(local_id) == items_.end());
314 313
315 MockDownloadItemImpl* result = 314 MockDownloadItemImpl* result =
316 new StrictMock<MockDownloadItemImpl>(&item_delegate_); 315 new StrictMock<MockDownloadItemImpl>(&item_delegate_);
317 EXPECT_CALL(*result, GetId()) 316 EXPECT_CALL(*result, GetId())
318 .WillRepeatedly(Return(local_id)); 317 .WillRepeatedly(Return(local_id));
319 EXPECT_CALL(*result, GetGlobalId()) 318 EXPECT_CALL(*result, GetGlobalId())
320 .WillRepeatedly(Return(DownloadId(delegate, local_id))); 319 .WillRepeatedly(Return(DownloadId(delegate, local_id)));
321 items_[local_id] = result; 320 items_[local_id] = result;
322 321
323 // Active items are created and then immediately are called to start 322 // Active items are created and then immediately are called to start
324 // the download. 323 // the download.
325 EXPECT_CALL(*result, MockStart(_)); 324 EXPECT_CALL(*result, MockStart(_, _));
326 325
327 return result; 326 return result;
328 } 327 }
329 328
330 DownloadItemImpl* MockDownloadItemFactory::CreateSavePageItem( 329 DownloadItemImpl* MockDownloadItemFactory::CreateSavePageItem(
331 DownloadItemImplDelegate* delegate, 330 DownloadItemImplDelegate* delegate,
332 const FilePath& path, 331 const FilePath& path,
333 const GURL& url, 332 const GURL& url,
334 DownloadId download_id, 333 DownloadId download_id,
335 const std::string& mime_type, 334 const std::string& mime_type,
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 DownloadCreateInfo info; 487 DownloadCreateInfo info;
489 488
490 static const char* kDownloadIdDomain = "Test download id domain"; 489 static const char* kDownloadIdDomain = "Test download id domain";
491 490
492 // Args are ignored except for download id, so everything else can be 491 // Args are ignored except for download id, so everything else can be
493 // null. 492 // null.
494 int id = next_download_id_; 493 int id = next_download_id_;
495 ++next_download_id_; 494 ++next_download_id_;
496 info.download_id = DownloadId(kDownloadIdDomain, id); 495 info.download_id = DownloadId(kDownloadIdDomain, id);
497 info.request_handle = DownloadRequestHandle(); 496 info.request_handle = DownloadRequestHandle();
498 download_manager_->CreateDownloadItem(&info, net::BoundNetLog()); 497 download_manager_->GetOrCreateDownloadItem(&info);
499 498
500 DCHECK(mock_download_item_factory_->GetItem(id)); 499 DCHECK(mock_download_item_factory_->GetItem(id));
501 MockDownloadItemImpl& item(*mock_download_item_factory_->GetItem(id)); 500 MockDownloadItemImpl& item(*mock_download_item_factory_->GetItem(id));
502 // Satisfy expectation. If the item is created in StartDownload(), 501 // Satisfy expectation. If the item is created in StartDownload(),
503 // we call Start on it immediately, so we need to set that expectation 502 // we call Start on it immediately, so we need to set that expectation
504 // in the factory. 503 // in the factory.
505 item.Start(scoped_ptr<DownloadFile>()); 504 scoped_ptr<DownloadRequestHandleInterface> req_handle;
505 item.Start(scoped_ptr<DownloadFile>(), req_handle.Pass());
506 506
507 return item; 507 return item;
508 } 508 }
509 509
510 MockDownloadItemImpl& GetMockDownloadItem(int id) { 510 MockDownloadItemImpl& GetMockDownloadItem(int id) {
511 MockDownloadItemImpl* itemp = mock_download_item_factory_->GetItem(id); 511 MockDownloadItemImpl* itemp = mock_download_item_factory_->GetItem(id);
512 512
513 DCHECK(itemp); 513 DCHECK(itemp);
514 return *itemp; 514 return *itemp;
515 } 515 }
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 callback_called_ = false; 643 callback_called_ = false;
644 DetermineDownloadTarget(&item); 644 DetermineDownloadTarget(&item);
645 EXPECT_TRUE(callback_called_); 645 EXPECT_TRUE(callback_called_);
646 EXPECT_EQ(path, target_path_); 646 EXPECT_EQ(path, target_path_);
647 EXPECT_EQ(DownloadItem::TARGET_DISPOSITION_OVERWRITE, target_disposition_); 647 EXPECT_EQ(DownloadItem::TARGET_DISPOSITION_OVERWRITE, target_disposition_);
648 EXPECT_EQ(DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, danger_type_); 648 EXPECT_EQ(DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, danger_type_);
649 EXPECT_EQ(path, intermediate_path_); 649 EXPECT_EQ(path, intermediate_path_);
650 } 650 }
651 651
652 } // namespace content 652 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/download/download_manager_impl.cc ('k') | content/browser/download/download_net_log_parameters.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698