| Index: chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
|
| diff --git a/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc b/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
|
| index 1f6d8379b0942391280a1149a44f8f6ac630f20a..d57c90657658969540d358f9442196e71bf10c80 100644
|
| --- a/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
|
| +++ b/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
|
| @@ -814,9 +814,52 @@ const char HTML5FileWriter::kHTML5FileWritten[] = "html5_file_written";
|
| const char HTML5FileWriter::kURLRequestContextToreDown[] =
|
| "url_request_context_tore_down";
|
|
|
| +// While an object of this class exists, it will mock out download
|
| +// opening for all downloads created on the specified download manager.
|
| +class MockDownloadOpeningObserver : public DownloadManager::Observer {
|
| + public:
|
| + explicit MockDownloadOpeningObserver(DownloadManager* manager)
|
| + : download_manager_(manager) {
|
| + download_manager_->AddObserver(this);
|
| + }
|
| +
|
| + ~MockDownloadOpeningObserver() {
|
| + download_manager_->RemoveObserver(this);
|
| + }
|
| +
|
| + virtual void OnDownloadCreated(
|
| + DownloadManager* manager, DownloadItem* item) OVERRIDE {
|
| + item->MockDownloadOpenForTesting();
|
| + }
|
| +
|
| + private:
|
| + DownloadManager* download_manager_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(MockDownloadOpeningObserver);
|
| +};
|
| +
|
| } // namespace
|
|
|
| IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| + DownloadExtensionTest_Open) {
|
| + MockDownloadOpeningObserver mock_open_observer(GetCurrentManager());
|
| + DownloadItem* download_item = CreateSlowTestDownload();
|
| + ASSERT_TRUE(download_item);
|
| + EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
|
| + RunFunctionAndReturnError(
|
| + new DownloadsOpenFunction(),
|
| + DownloadItemIdAsArgList(download_item)).c_str());
|
| + EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
|
| + RunFunctionAndReturnError(
|
| + new DownloadsOpenFunction(),
|
| + "[-42]").c_str());
|
| + FinishPendingSlowDownloads();
|
| + EXPECT_TRUE(RunFunction(new DownloadsOpenFunction(),
|
| + DownloadItemIdAsArgList(download_item)));
|
| + EXPECT_TRUE(download_item->GetOpened());
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| DownloadExtensionTest_PauseResumeCancel) {
|
| DownloadItem* download_item = CreateSlowTestDownload();
|
| ASSERT_TRUE(download_item);
|
|
|