Chromium Code Reviews| Index: content/browser/download/download_item_impl_unittest.cc |
| diff --git a/content/browser/download/download_item_impl_unittest.cc b/content/browser/download/download_item_impl_unittest.cc |
| index c23716fa4704db00d3c18d5c7ec50460b1177300..42824775073d88901eeb473776a99ec1ed5fd170 100644 |
| --- a/content/browser/download/download_item_impl_unittest.cc |
| +++ b/content/browser/download/download_item_impl_unittest.cc |
| @@ -93,25 +93,9 @@ class MockRequestHandle : public DownloadRequestHandleInterface { |
| MOCK_CONST_METHOD0(DebugString, std::string()); |
| }; |
| -// Schedules a task to invoke the RenameCompletionCallback with |new_path| on |
| -// the UI thread. Should only be used as the action for |
| -// MockDownloadFile::Rename as follows: |
| -// EXPECT_CALL(download_file, Rename*(_,_)) |
| -// .WillOnce(ScheduleRenameCallback(DOWNLOAD_INTERRUPT_REASON_NONE, |
| -// new_path)); |
| -ACTION_P2(ScheduleRenameCallback, interrupt_reason, new_path) { |
| - BrowserThread::PostTask( |
| - BrowserThread::UI, FROM_HERE, |
| - base::Bind(arg1, interrupt_reason, new_path)); |
| -} |
| - |
| -} // namespace |
| - |
| -class DownloadItemTest : public testing::Test { |
| +class TestDownloadItemObserver : public DownloadItem::Observer { |
| public: |
| - class MockObserver : public DownloadItem::Observer { |
| - public: |
| - explicit MockObserver(DownloadItem* item) |
| + explicit TestDownloadItemObserver(DownloadItem* item) |
| : item_(item), |
| last_state_(item->GetState()), |
| removed_(false), |
| @@ -119,80 +103,88 @@ class DownloadItemTest : public testing::Test { |
| updated_(false), |
| interrupt_count_(0), |
| resume_count_(0) { |
| - item_->AddObserver(this); |
| - } |
| + item_->AddObserver(this); |
| + } |
| - ~MockObserver() override { |
| - if (item_) item_->RemoveObserver(this); |
| - } |
| + ~TestDownloadItemObserver() override { |
| + if (item_) |
| + item_->RemoveObserver(this); |
| + } |
| - void OnDownloadRemoved(DownloadItem* download) override { |
| - DVLOG(20) << " " << __FUNCTION__ |
| - << " download = " << download->DebugString(false); |
| - removed_ = true; |
| - } |
| + void OnDownloadRemoved(DownloadItem* download) override { |
| + DVLOG(20) << " " << __FUNCTION__ |
| + << " download = " << download->DebugString(false); |
| + removed_ = true; |
| + } |
| - void OnDownloadUpdated(DownloadItem* download) override { |
| - DVLOG(20) << " " << __FUNCTION__ |
| - << " download = " << download->DebugString(false); |
| - updated_ = true; |
| - DownloadItem::DownloadState new_state = download->GetState(); |
| - if (last_state_ == DownloadItem::IN_PROGRESS && |
| - new_state == DownloadItem::INTERRUPTED) { |
| - interrupt_count_++; |
| - } |
| - if (last_state_ == DownloadItem::INTERRUPTED && |
| - new_state == DownloadItem::IN_PROGRESS) { |
| - resume_count_++; |
| - } |
| - last_state_ = new_state; |
| + void OnDownloadUpdated(DownloadItem* download) override { |
| + DVLOG(20) << " " << __FUNCTION__ |
| + << " download = " << download->DebugString(false); |
| + updated_ = true; |
| + DownloadItem::DownloadState new_state = download->GetState(); |
| + if (last_state_ == DownloadItem::IN_PROGRESS && |
| + new_state == DownloadItem::INTERRUPTED) { |
| + interrupt_count_++; |
| } |
| - |
| - void OnDownloadOpened(DownloadItem* download) override { |
| - DVLOG(20) << " " << __FUNCTION__ |
| - << " download = " << download->DebugString(false); |
| + if (last_state_ == DownloadItem::INTERRUPTED && |
| + new_state == DownloadItem::IN_PROGRESS) { |
| + resume_count_++; |
| } |
| + last_state_ = new_state; |
| + } |
| - void OnDownloadDestroyed(DownloadItem* download) override { |
| - DVLOG(20) << " " << __FUNCTION__ |
| - << " download = " << download->DebugString(false); |
| - destroyed_ = true; |
| - item_->RemoveObserver(this); |
| - item_ = NULL; |
| - } |
| + void OnDownloadOpened(DownloadItem* download) override { |
| + DVLOG(20) << " " << __FUNCTION__ |
| + << " download = " << download->DebugString(false); |
| + } |
| - bool CheckRemoved() { |
| - return removed_; |
| - } |
| + void OnDownloadDestroyed(DownloadItem* download) override { |
| + DVLOG(20) << " " << __FUNCTION__ |
| + << " download = " << download->DebugString(false); |
| + destroyed_ = true; |
| + item_->RemoveObserver(this); |
| + item_ = NULL; |
| + } |
| - bool CheckDestroyed() { |
| - return destroyed_; |
| - } |
| + bool CheckRemoved() const { return removed_; } |
|
svaldez
2015/12/11 21:02:21
Possibly change to removed()?
asanka
2015/12/11 21:30:21
Changed to download_removed() since otherwise the
|
| - bool CheckUpdated() { |
| - bool was_updated = updated_; |
| - updated_ = false; |
| - return was_updated; |
| - } |
| + bool CheckDestroyed() const { return destroyed_; } |
|
svaldez
2015/12/11 21:02:21
destroyed()?
asanka
2015/12/11 21:30:21
Went with download_destroyed() for same reason.
|
| - int GetInterruptCount() { |
| - return interrupt_count_; |
| - } |
| + bool CheckAndResetUpdated() { |
| + bool was_updated = updated_; |
| + updated_ = false; |
| + return was_updated; |
| + } |
| - int GetResumeCount() { |
| - return resume_count_; |
| - } |
| + int GetInterruptCount() const { return interrupt_count_; } |
|
svaldez
2015/12/11 21:02:21
Possibly change to interrupt_count().
asanka
2015/12/11 21:30:21
Done.
|
| + |
| + int GetResumeCount() const { return resume_count_; } |
|
svaldez
2015/12/11 21:02:21
Possibly change to resume_count().
asanka
2015/12/11 21:30:21
Done.
|
| - private: |
| - DownloadItem* item_; |
| - DownloadItem::DownloadState last_state_; |
| - bool removed_; |
| - bool destroyed_; |
| - bool updated_; |
| - int interrupt_count_; |
| - int resume_count_; |
| - }; |
| + private: |
| + DownloadItem* item_; |
| + DownloadItem::DownloadState last_state_; |
| + bool removed_; |
| + bool destroyed_; |
| + bool updated_; |
| + int interrupt_count_; |
| + int resume_count_; |
| +}; |
| +// Schedules a task to invoke the RenameCompletionCallback with |new_path| on |
| +// the UI thread. Should only be used as the action for |
| +// MockDownloadFile::Rename as follows: |
| +// EXPECT_CALL(download_file, Rename*(_,_)) |
| +// .WillOnce(ScheduleRenameCallback(DOWNLOAD_INTERRUPT_REASON_NONE, |
| +// new_path)); |
| +ACTION_P2(ScheduleRenameCallback, interrupt_reason, new_path) { |
| + BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| + base::Bind(arg1, interrupt_reason, new_path)); |
| +} |
| + |
| +} // namespace |
| + |
| +class DownloadItemTest : public testing::Test { |
| + public: |
| DownloadItemTest() |
| : ui_thread_(BrowserThread::UI, &loop_), |
| file_thread_(BrowserThread::FILE, &loop_), |
| @@ -340,10 +332,10 @@ class DownloadItemTest : public testing::Test { |
| TEST_F(DownloadItemTest, NotificationAfterUpdate) { |
| DownloadItemImpl* item = CreateDownloadItem(); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| item->DestinationUpdate(kDownloadChunkSize, kDownloadSpeed, std::string()); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| EXPECT_EQ(kDownloadSpeed, item->CurrentSpeed()); |
| } |
| @@ -352,37 +344,37 @@ TEST_F(DownloadItemTest, NotificationAfterCancel) { |
| MockDownloadFile* download_file = |
| AddDownloadFileToDownloadItem(user_cancel, NULL); |
| EXPECT_CALL(*download_file, Cancel()); |
| - MockObserver observer1(user_cancel); |
| + TestDownloadItemObserver observer1(user_cancel); |
| user_cancel->Cancel(true); |
| - ASSERT_TRUE(observer1.CheckUpdated()); |
| + ASSERT_TRUE(observer1.CheckAndResetUpdated()); |
| DownloadItemImpl* system_cancel = CreateDownloadItem(); |
| download_file = AddDownloadFileToDownloadItem(system_cancel, NULL); |
| EXPECT_CALL(*download_file, Cancel()); |
| - MockObserver observer2(system_cancel); |
| + TestDownloadItemObserver observer2(system_cancel); |
| system_cancel->Cancel(false); |
| - ASSERT_TRUE(observer2.CheckUpdated()); |
| + ASSERT_TRUE(observer2.CheckAndResetUpdated()); |
| } |
| TEST_F(DownloadItemTest, NotificationAfterComplete) { |
| DownloadItemImpl* item = CreateDownloadItem(); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| item->OnAllDataSaved(DownloadItem::kEmptyFileHash); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| item->MarkAsComplete(); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| } |
| TEST_F(DownloadItemTest, NotificationAfterDownloadedFileRemoved) { |
| DownloadItemImpl* item = CreateDownloadItem(); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| item->OnDownloadedFileRemoved(); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| } |
| TEST_F(DownloadItemTest, NotificationAfterInterrupted) { |
| @@ -390,19 +382,19 @@ TEST_F(DownloadItemTest, NotificationAfterInterrupted) { |
| MockDownloadFile* download_file = |
| DoIntermediateRename(item, DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
| EXPECT_CALL(*download_file, Cancel()); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| EXPECT_CALL(*mock_delegate(), MockResumeInterruptedDownload(_,_)) |
| .Times(0); |
| item->DestinationObserverAsWeakPtr()->DestinationError( |
| DOWNLOAD_INTERRUPT_REASON_FILE_FAILED); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| } |
| TEST_F(DownloadItemTest, NotificationAfterDestroyed) { |
| DownloadItemImpl* item = CreateDownloadItem(); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| DestroyDownloadItem(item); |
| ASSERT_TRUE(observer.CheckDestroyed()); |
| @@ -414,7 +406,7 @@ TEST_F(DownloadItemTest, ContinueAfterInterrupted) { |
| TestBrowserContext test_browser_context; |
| DownloadItemImpl* item = CreateDownloadItem(); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| DownloadItemImplDelegate::DownloadTargetCallback callback; |
| MockDownloadFile* download_file = |
| DoIntermediateRename(item, DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
| @@ -428,7 +420,7 @@ TEST_F(DownloadItemTest, ContinueAfterInterrupted) { |
| EXPECT_CALL(*mock_delegate(), MockResumeInterruptedDownload(_, _)).Times(1); |
| item->DestinationObserverAsWeakPtr()->DestinationError( |
| DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| ASSERT_EQ(1, observer.GetInterruptCount()); |
| // Test expectations verify that ResumeInterruptedDownload() is called when |
| @@ -445,7 +437,7 @@ TEST_F(DownloadItemTest, RestartAfterInterrupted) { |
| switches::kEnableDownloadResumption); |
| DownloadItemImpl* item = CreateDownloadItem(); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| DownloadItemImplDelegate::DownloadTargetCallback callback; |
| MockDownloadFile* download_file = |
| DoIntermediateRename(item, DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
| @@ -454,7 +446,7 @@ TEST_F(DownloadItemTest, RestartAfterInterrupted) { |
| EXPECT_CALL(*download_file, Cancel()); |
| item->DestinationObserverAsWeakPtr()->DestinationError( |
| DOWNLOAD_INTERRUPT_REASON_FILE_FAILED); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| // Should not try to auto-resume. |
| ASSERT_EQ(1, observer.GetInterruptCount()); |
| ASSERT_EQ(0, observer.GetResumeCount()); |
| @@ -469,7 +461,7 @@ TEST_F(DownloadItemTest, UnresumableInterrupt) { |
| switches::kEnableDownloadResumption); |
| DownloadItemImpl* item = CreateDownloadItem(); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| DownloadItemImplDelegate::DownloadTargetCallback callback; |
| MockDownloadFile* download_file = |
| DoIntermediateRename(item, DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
| @@ -486,7 +478,7 @@ TEST_F(DownloadItemTest, UnresumableInterrupt) { |
| item->DestinationObserverAsWeakPtr()->DestinationCompleted(std::string()); |
| RunAllPendingInMessageLoops(); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| // Should not try to auto-resume. |
| ASSERT_EQ(1, observer.GetInterruptCount()); |
| ASSERT_EQ(0, observer.GetResumeCount()); |
| @@ -502,7 +494,7 @@ TEST_F(DownloadItemTest, LimitRestartsAfterInterrupted) { |
| DownloadItemImpl* item = CreateDownloadItem(); |
| base::WeakPtr<DownloadDestinationObserver> as_observer( |
| item->DestinationObserverAsWeakPtr()); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| MockDownloadFile* mock_download_file(NULL); |
| scoped_ptr<DownloadFile> download_file; |
| MockRequestHandle* mock_request_handle(NULL); |
| @@ -560,47 +552,47 @@ TEST_F(DownloadItemTest, NotificationAfterRemove) { |
| MockDownloadFile* download_file = AddDownloadFileToDownloadItem(item, NULL); |
| EXPECT_CALL(*download_file, Cancel()); |
| EXPECT_CALL(*mock_delegate(), DownloadRemoved(_)); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| item->Remove(); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| ASSERT_TRUE(observer.CheckRemoved()); |
| } |
| TEST_F(DownloadItemTest, NotificationAfterOnContentCheckCompleted) { |
| // Setting to NOT_DANGEROUS does not trigger a notification. |
| DownloadItemImpl* safe_item = CreateDownloadItem(); |
| - MockObserver safe_observer(safe_item); |
| + TestDownloadItemObserver safe_observer(safe_item); |
| safe_item->OnAllDataSaved(std::string()); |
| - EXPECT_TRUE(safe_observer.CheckUpdated()); |
| + EXPECT_TRUE(safe_observer.CheckAndResetUpdated()); |
| safe_item->OnContentCheckCompleted(DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
| - EXPECT_TRUE(safe_observer.CheckUpdated()); |
| + EXPECT_TRUE(safe_observer.CheckAndResetUpdated()); |
| // Setting to unsafe url or unsafe file should trigger a notification. |
| DownloadItemImpl* unsafeurl_item = |
| CreateDownloadItem(); |
| - MockObserver unsafeurl_observer(unsafeurl_item); |
| + TestDownloadItemObserver unsafeurl_observer(unsafeurl_item); |
| unsafeurl_item->OnAllDataSaved(std::string()); |
| - EXPECT_TRUE(unsafeurl_observer.CheckUpdated()); |
| + EXPECT_TRUE(unsafeurl_observer.CheckAndResetUpdated()); |
| unsafeurl_item->OnContentCheckCompleted(DOWNLOAD_DANGER_TYPE_DANGEROUS_URL); |
| - EXPECT_TRUE(unsafeurl_observer.CheckUpdated()); |
| + EXPECT_TRUE(unsafeurl_observer.CheckAndResetUpdated()); |
| unsafeurl_item->ValidateDangerousDownload(); |
| - EXPECT_TRUE(unsafeurl_observer.CheckUpdated()); |
| + EXPECT_TRUE(unsafeurl_observer.CheckAndResetUpdated()); |
| DownloadItemImpl* unsafefile_item = |
| CreateDownloadItem(); |
| - MockObserver unsafefile_observer(unsafefile_item); |
| + TestDownloadItemObserver unsafefile_observer(unsafefile_item); |
| unsafefile_item->OnAllDataSaved(std::string()); |
| - EXPECT_TRUE(unsafefile_observer.CheckUpdated()); |
| + EXPECT_TRUE(unsafefile_observer.CheckAndResetUpdated()); |
| unsafefile_item->OnContentCheckCompleted(DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE); |
| - EXPECT_TRUE(unsafefile_observer.CheckUpdated()); |
| + EXPECT_TRUE(unsafefile_observer.CheckAndResetUpdated()); |
| unsafefile_item->ValidateDangerousDownload(); |
| - EXPECT_TRUE(unsafefile_observer.CheckUpdated()); |
| + EXPECT_TRUE(unsafefile_observer.CheckAndResetUpdated()); |
| } |
| // DownloadItemImpl::OnDownloadTargetDetermined will schedule a task to run |
| @@ -613,7 +605,7 @@ TEST_F(DownloadItemTest, NotificationAfterOnDownloadTargetDetermined) { |
| DownloadItemImplDelegate::DownloadTargetCallback callback; |
| MockDownloadFile* download_file = |
| AddDownloadFileToDownloadItem(item, &callback); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| base::FilePath target_path(kDummyPath); |
| base::FilePath intermediate_path(target_path.InsertBeforeExtensionASCII("x")); |
| base::FilePath new_intermediate_path( |
| @@ -626,9 +618,9 @@ TEST_F(DownloadItemTest, NotificationAfterOnDownloadTargetDetermined) { |
| // other than NOT_DANGEROUS. |
| callback.Run(target_path, DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, intermediate_path); |
| - EXPECT_FALSE(observer.CheckUpdated()); |
| + EXPECT_FALSE(observer.CheckAndResetUpdated()); |
| RunAllPendingInMessageLoops(); |
| - EXPECT_TRUE(observer.CheckUpdated()); |
| + EXPECT_TRUE(observer.CheckAndResetUpdated()); |
| EXPECT_EQ(new_intermediate_path, item->GetFullPath()); |
| CleanupItem(item, download_file, DownloadItem::IN_PROGRESS); |
| @@ -636,7 +628,7 @@ TEST_F(DownloadItemTest, NotificationAfterOnDownloadTargetDetermined) { |
| TEST_F(DownloadItemTest, NotificationAfterTogglePause) { |
| DownloadItemImpl* item = CreateDownloadItem(); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| MockDownloadFile* mock_download_file(new MockDownloadFile); |
| scoped_ptr<DownloadFile> download_file(mock_download_file); |
| scoped_ptr<DownloadRequestHandleInterface> request_handle( |
| @@ -647,12 +639,12 @@ TEST_F(DownloadItemTest, NotificationAfterTogglePause) { |
| item->Start(download_file.Pass(), request_handle.Pass()); |
| item->Pause(); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| ASSERT_TRUE(item->IsPaused()); |
| item->Resume(); |
| - ASSERT_TRUE(observer.CheckUpdated()); |
| + ASSERT_TRUE(observer.CheckAndResetUpdated()); |
| RunAllPendingInMessageLoops(); |
| @@ -903,13 +895,13 @@ TEST_F(DownloadItemTest, DestinationUpdate) { |
| DownloadItemImpl* item = CreateDownloadItem(); |
| base::WeakPtr<DownloadDestinationObserver> as_observer( |
| item->DestinationObserverAsWeakPtr()); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| EXPECT_EQ(0l, item->CurrentSpeed()); |
| EXPECT_EQ("", item->GetHashState()); |
| EXPECT_EQ(0l, item->GetReceivedBytes()); |
| EXPECT_EQ(0l, item->GetTotalBytes()); |
| - EXPECT_FALSE(observer.CheckUpdated()); |
| + EXPECT_FALSE(observer.CheckAndResetUpdated()); |
| item->SetTotalBytes(100l); |
| EXPECT_EQ(100l, item->GetTotalBytes()); |
| @@ -918,14 +910,14 @@ TEST_F(DownloadItemTest, DestinationUpdate) { |
| EXPECT_EQ("deadbeef", item->GetHashState()); |
| EXPECT_EQ(10l, item->GetReceivedBytes()); |
| EXPECT_EQ(100l, item->GetTotalBytes()); |
| - EXPECT_TRUE(observer.CheckUpdated()); |
| + EXPECT_TRUE(observer.CheckAndResetUpdated()); |
| as_observer->DestinationUpdate(200, 20, "livebeef"); |
| EXPECT_EQ(20l, item->CurrentSpeed()); |
| EXPECT_EQ("livebeef", item->GetHashState()); |
| EXPECT_EQ(200l, item->GetReceivedBytes()); |
| EXPECT_EQ(0l, item->GetTotalBytes()); |
| - EXPECT_TRUE(observer.CheckUpdated()); |
| + EXPECT_TRUE(observer.CheckAndResetUpdated()); |
| } |
| TEST_F(DownloadItemTest, DestinationError) { |
| @@ -934,17 +926,17 @@ TEST_F(DownloadItemTest, DestinationError) { |
| DoIntermediateRename(item, DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
| base::WeakPtr<DownloadDestinationObserver> as_observer( |
| item->DestinationObserverAsWeakPtr()); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| EXPECT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); |
| EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NONE, item->GetLastReason()); |
| - EXPECT_FALSE(observer.CheckUpdated()); |
| + EXPECT_FALSE(observer.CheckAndResetUpdated()); |
| EXPECT_CALL(*download_file, Cancel()); |
| as_observer->DestinationError( |
| DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED); |
| mock_delegate()->VerifyAndClearExpectations(); |
| - EXPECT_TRUE(observer.CheckUpdated()); |
| + EXPECT_TRUE(observer.CheckAndResetUpdated()); |
| EXPECT_EQ(DownloadItem::INTERRUPTED, item->GetState()); |
| EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED, |
| item->GetLastReason()); |
| @@ -954,17 +946,17 @@ TEST_F(DownloadItemTest, DestinationCompleted) { |
| DownloadItemImpl* item = CreateDownloadItem(); |
| base::WeakPtr<DownloadDestinationObserver> as_observer( |
| item->DestinationObserverAsWeakPtr()); |
| - MockObserver observer(item); |
| + TestDownloadItemObserver observer(item); |
| EXPECT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); |
| EXPECT_EQ("", item->GetHash()); |
| EXPECT_EQ("", item->GetHashState()); |
| EXPECT_FALSE(item->AllDataSaved()); |
| - EXPECT_FALSE(observer.CheckUpdated()); |
| + EXPECT_FALSE(observer.CheckAndResetUpdated()); |
| as_observer->DestinationUpdate(10, 20, "deadbeef"); |
| - EXPECT_TRUE(observer.CheckUpdated()); |
| - EXPECT_FALSE(observer.CheckUpdated()); // Confirm reset. |
| + EXPECT_TRUE(observer.CheckAndResetUpdated()); |
| + EXPECT_FALSE(observer.CheckAndResetUpdated()); // Confirm reset. |
| EXPECT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); |
| EXPECT_EQ("", item->GetHash()); |
| EXPECT_EQ("deadbeef", item->GetHashState()); |
| @@ -973,7 +965,7 @@ TEST_F(DownloadItemTest, DestinationCompleted) { |
| as_observer->DestinationCompleted("livebeef"); |
| mock_delegate()->VerifyAndClearExpectations(); |
| EXPECT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); |
| - EXPECT_TRUE(observer.CheckUpdated()); |
| + EXPECT_TRUE(observer.CheckAndResetUpdated()); |
| EXPECT_EQ("livebeef", item->GetHash()); |
| EXPECT_EQ("", item->GetHashState()); |
| EXPECT_TRUE(item->AllDataSaved()); |