Index: chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc |
diff --git a/chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc b/chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc |
index ba592274a6beac1eca5066757ba79e5e2254998c..c104ec2e7ca1f9f7f77b3be1b726ec45edb2df8d 100644 |
--- a/chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc |
+++ b/chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc |
@@ -132,7 +132,7 @@ class DownloadsDOMHandlerTest : public InProcessBrowserTest { |
return content::BrowserContext::GetDownloadManager(browser()->profile()); |
} |
- void DownloadAnItem() { |
+ void DownloadAnItem(bool in_progress) { |
GURL url = test_server()->GetURL("files/downloads/image.jpg"); |
std::vector<GURL> url_chain; |
url_chain.push_back(url); |
@@ -151,13 +151,15 @@ class DownloadsDOMHandlerTest : public InProcessBrowserTest { |
std::string(), |
128, |
128, |
- content::DownloadItem::COMPLETE, |
+ in_progress ? content::DownloadItem::IN_PROGRESS : |
+ content::DownloadItem::COMPLETE, |
content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
content::DOWNLOAD_INTERRUPT_REASON_NONE, |
false); |
mock_handler_->WaitForDownloadsList(); |
ASSERT_EQ(1, static_cast<int>(mock_handler_->downloads_list()->GetSize())); |
+ std::string state = in_progress ? "IN_PROGRESS" : "COMPLETE"; |
EXPECT_TRUE(ListMatches( |
mock_handler_->downloads_list(), |
"[{\"file_externally_removed\": false," |
@@ -165,7 +167,7 @@ class DownloadsDOMHandlerTest : public InProcessBrowserTest { |
" \"id\": \"1\"," |
" \"otr\": false," |
" \"since_string\": \"Today\"," |
- " \"state\": \"COMPLETE\"," |
+ " \"state\": \"" + state + "\"," |
" \"total\": 128}]")); |
} |
@@ -180,7 +182,7 @@ class DownloadsDOMHandlerTest : public InProcessBrowserTest { |
// Tests removing all items, both when prohibited and when allowed. |
IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveAll) { |
- DownloadAnItem(); |
+ DownloadAnItem(false); |
mock_handler_->reset_downloads_list(); |
browser()->profile()->GetPrefs()->SetBoolean( |
@@ -199,9 +201,23 @@ IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveAll) { |
EXPECT_EQ(0, static_cast<int>(mock_handler_->downloads_list()->GetSize())); |
} |
+// Tests removing all items, both when prohibited and when allowed. |
+IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveAllIgnoresInProgress) { |
+ DownloadAnItem(true); |
+ |
+ mock_handler_->reset_downloads_list(); |
+ mock_handler_->HandleClearAll(NULL); |
+ mock_handler_->ForceSendCurrentDownloads(); |
+ mock_handler_->WaitForDownloadsList(); |
+ EXPECT_EQ(1, static_cast<int>(mock_handler_->downloads_list()->GetSize())); |
+ |
+ // Cancel the download so Chrome can shut down. |
+ download_manager()->GetDownload(1)->Cancel(false); |
+} |
+ |
// Tests removing one item, both when prohibited and when allowed. |
IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveOneItem) { |
- DownloadAnItem(); |
+ DownloadAnItem(false); |
base::ListValue item; |
item.AppendString("1"); |
@@ -227,7 +243,7 @@ IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, RemoveOneItem) { |
// renderer. |
// crbug.com/159390: This test fails when daylight savings time ends. |
IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, DownloadsRelayed) { |
- DownloadAnItem(); |
+ DownloadAnItem(false); |
mock_handler_->WaitForDownloadUpdated(); |
ASSERT_EQ(1, static_cast<int>(mock_handler_->download_updated()->GetSize())); |