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

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

Issue 11640007: Make the UI an observer of downloads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 class MockDownloadManagerDelegate : public DownloadManagerDelegate { 173 class MockDownloadManagerDelegate : public DownloadManagerDelegate {
174 public: 174 public:
175 MockDownloadManagerDelegate(); 175 MockDownloadManagerDelegate();
176 virtual ~MockDownloadManagerDelegate(); 176 virtual ~MockDownloadManagerDelegate();
177 177
178 MOCK_METHOD0(Shutdown, void()); 178 MOCK_METHOD0(Shutdown, void());
179 MOCK_METHOD0(GetNextId, DownloadId()); 179 MOCK_METHOD0(GetNextId, DownloadId());
180 MOCK_METHOD2(DetermineDownloadTarget, 180 MOCK_METHOD2(DetermineDownloadTarget,
181 bool(DownloadItem* item, 181 bool(DownloadItem* item,
182 const DownloadTargetCallback&)); 182 const DownloadTargetCallback&));
183 MOCK_METHOD0(GetAlternativeWebContentsToNotifyForDownload, WebContents*());
184 MOCK_METHOD1(ShouldOpenFileBasedOnExtension, bool(const FilePath&)); 183 MOCK_METHOD1(ShouldOpenFileBasedOnExtension, bool(const FilePath&));
185 MOCK_METHOD2(ShouldCompleteDownload, 184 MOCK_METHOD2(ShouldCompleteDownload,
186 bool(DownloadItem*, const base::Closure&)); 185 bool(DownloadItem*, const base::Closure&));
187 MOCK_METHOD2(ShouldOpenDownload, 186 MOCK_METHOD2(ShouldOpenDownload,
188 bool(DownloadItem*, const DownloadOpenDelayedCallback&)); 187 bool(DownloadItem*, const DownloadOpenDelayedCallback&));
189 MOCK_METHOD0(GenerateFileHash, bool()); 188 MOCK_METHOD0(GenerateFileHash, bool());
190 MOCK_METHOD4(GetSaveDir, void(BrowserContext*, 189 MOCK_METHOD4(GetSaveDir, void(BrowserContext*,
191 FilePath*, FilePath*, bool*)); 190 FilePath*, FilePath*, bool*));
192 MOCK_METHOD5(ChooseSavePath, void( 191 MOCK_METHOD5(ChooseSavePath, void(
193 WebContents*, const FilePath&, const FilePath::StringType&, 192 WebContents*, const FilePath&, const FilePath::StringType&,
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 intermediate_path_ = intermediate_path; 539 intermediate_path_ = intermediate_path;
541 } 540 }
542 541
543 void DetermineDownloadTarget(DownloadItemImpl* item) { 542 void DetermineDownloadTarget(DownloadItemImpl* item) {
544 download_manager_->DetermineDownloadTarget( 543 download_manager_->DetermineDownloadTarget(
545 item, base::Bind( 544 item, base::Bind(
546 &DownloadManagerTest::DownloadTargetDeterminedCallback, 545 &DownloadManagerTest::DownloadTargetDeterminedCallback,
547 base::Unretained(this))); 546 base::Unretained(this)));
548 } 547 }
549 548
550 void AddItemToHistory(MockDownloadItemImpl& item, int64 db_handle) {
551 // For DCHECK in AddDownloadItemToHistory. Don't want to use
552 // WillRepeatedly as it may have to return true after this.
553 if (DCHECK_IS_ON())
554 // Null out ShowDownloadInBrowser
555 EXPECT_CALL(item, GetWebContents())
556 .WillOnce(Return(static_cast<WebContents*>(NULL)));
557 EXPECT_CALL(GetMockDownloadManagerDelegate(),
558 GetAlternativeWebContentsToNotifyForDownload())
559 .WillOnce(Return(static_cast<WebContents*>(NULL)));
560
561 EXPECT_CALL(item, IsInProgress())
562 .WillOnce(Return(true));
563 }
564
565 protected: 549 protected:
566 // Key test variable; we'll keep it available to sub-classes. 550 // Key test variable; we'll keep it available to sub-classes.
567 scoped_refptr<DownloadManagerImpl> download_manager_; 551 scoped_refptr<DownloadManagerImpl> download_manager_;
568 base::WeakPtr<MockDownloadFileFactory> mock_download_file_factory_; 552 base::WeakPtr<MockDownloadFileFactory> mock_download_file_factory_;
569 553
570 // Target detetermined callback. 554 // Target detetermined callback.
571 bool callback_called_; 555 bool callback_called_;
572 FilePath target_path_; 556 FilePath target_path_;
573 DownloadItem::TargetDisposition target_disposition_; 557 DownloadItem::TargetDisposition target_disposition_;
574 DownloadDangerType danger_type_; 558 DownloadDangerType danger_type_;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 callback_called_ = false; 628 callback_called_ = false;
645 DetermineDownloadTarget(&item); 629 DetermineDownloadTarget(&item);
646 EXPECT_TRUE(callback_called_); 630 EXPECT_TRUE(callback_called_);
647 EXPECT_EQ(path, target_path_); 631 EXPECT_EQ(path, target_path_);
648 EXPECT_EQ(DownloadItem::TARGET_DISPOSITION_OVERWRITE, target_disposition_); 632 EXPECT_EQ(DownloadItem::TARGET_DISPOSITION_OVERWRITE, target_disposition_);
649 EXPECT_EQ(DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, danger_type_); 633 EXPECT_EQ(DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, danger_type_);
650 EXPECT_EQ(path, intermediate_path_); 634 EXPECT_EQ(path, intermediate_path_);
651 } 635 }
652 636
653 } // namespace content 637 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698