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

Unified Diff: chrome/browser/extensions/api/downloads/downloads_api_unittest.cc

Issue 10735089: DownloadManager::Observer::OnDownloadCreated (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
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 d27b189eb6dea29481a2492dfa13393dfc2cf2f7..c36cc3a1cc46d652cc0f0864a9412f575e8ab857 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
@@ -168,6 +168,7 @@ class DownloadsEventsListener : public content::NotificationObserver {
dns->event_name,
*content::Details<std::string>(details).ptr(), base::Time::Now());
events_.push_back(new_event);
+ LOG(INFO) << "occam caught " << new_event->Debug();
Randy Smith (Not in Mondays) 2012/07/23 18:40:50 Was this intended to be in the CL proposed for lan
benjhayden 2012/07/23 18:54:22 Sorry, was having trouble repro-ing trybot failure
if (waiting_ &&
waiting_for_.get() &&
waiting_for_->Equals(*new_event)) {
@@ -190,6 +191,7 @@ class DownloadsEventsListener : public content::NotificationObserver {
if ((*iter)->Equals(*waiting_for_.get()))
return true;
}
+ LOG(INFO) << "occam waiting " << waiting_for_->Debug();
Randy Smith (Not in Mondays) 2012/07/23 18:40:50 Ditto.
benjhayden 2012/07/23 18:54:22 Done.
waiting_ = true;
ui_test_utils::RunMessageLoop();
bool success = !waiting_;
@@ -296,34 +298,15 @@ class DownloadExtensionTest : public ExtensionApiTest {
const std::string& on_created_event) {
if (!WaitFor(extension_event_names::kOnDownloadCreated, on_created_event))
return false;
- // The item may or may not be interrupted before the onCreated event fires.
- if (item->IsInterrupted()) {
- scoped_ptr<base::Value> args(base::JSONReader::Read(on_created_event));
- base::ListValue* args_list = NULL;
- base::DictionaryValue* args_dict = NULL;
- if (!args->GetAsList(&args_list) ||
- !args_list->GetDictionary(0, &args_dict))
- return false;
- args_dict->SetString("state", "interrupted");
- args_dict->SetInteger("error", expected_error);
- std::string created_error;
- base::JSONWriter::Write(args_list, &created_error);
- // This is not waiting for a different event, it's refining the
- // expectations on the onCreated event that was just caught. Specifically,
- // if a DownloadItem is already interrupted by the time the onCreated
- // event fires, then the onCreated event should already describe the
- // error.
- return WaitFor(extension_event_names::kOnDownloadCreated, created_error);
- } else {
- return WaitFor(extension_event_names::kOnDownloadChanged,
- base::StringPrintf("[{\"id\": %d,"
- " \"error\": {\"current\": %d},"
- " \"state\": {"
- " \"previous\": \"in_progress\","
- " \"current\": \"interrupted\"}}]",
- item->GetId(),
- expected_error));
- }
+ // Now, onCreated is always fired before interruption.
+ return WaitFor(extension_event_names::kOnDownloadChanged,
+ base::StringPrintf("[{\"id\": %d,"
+ " \"error\": {\"current\": %d},"
+ " \"state\": {"
+ " \"previous\": \"in_progress\","
+ " \"current\": \"interrupted\"}}]",
+ item->GetId(),
+ expected_error));
}
std::string GetExtensionURL() {
@@ -1502,12 +1485,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadCreated,
base::StringPrintf("[{\"danger\": \"safe\","
- " \"filename\": \"%s\","
" \"incognito\": false,"
" \"mime\": \"text/plain\","
" \"paused\": false,"
" \"url\": \"%s\"}]",
- GetFilename("slow.txt.crdownload").c_str(),
download_url.c_str())));
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
@@ -1545,12 +1526,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadCreated,
base::StringPrintf("[{\"danger\": \"safe\","
- " \"filename\": \"%s\","
" \"incognito\": true,"
" \"mime\": \"text/plain\","
" \"paused\": false,"
" \"url\": \"%s\"}]",
- GetFilename("slow.txt.crdownload").c_str(),
download_url.c_str())));
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadChanged,
base::StringPrintf("[{\"id\":%d,"
@@ -1701,12 +1680,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadCreated,
base::StringPrintf("[{\"danger\": \"safe\","
- " \"filename\": \"%s\","
" \"incognito\": false,"
" \"mime\": \"text/plain\","
" \"paused\": false,"
" \"url\": \"%s\"}]",
- GetFilename("slow.txt.crdownload").c_str(),
download_url.c_str())));
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
@@ -1744,12 +1721,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadCreated,
base::StringPrintf("[{\"danger\": \"safe\","
- " \"filename\": \"%s\","
" \"incognito\": false,"
" \"mime\": \"text/plain\","
" \"paused\": false,"
" \"url\": \"%s\"}]",
- GetFilename("data.txt.crdownload").c_str(),
download_url.c_str())));
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
@@ -1790,12 +1765,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadCreated,
base::StringPrintf("[{\"danger\": \"safe\","
- " \"filename\": \"%s\","
" \"incognito\": false,"
" \"mime\": \"text/html\","
" \"paused\": false,"
" \"url\": \"%s\"}]",
- GetFilename("file.txt.crdownload").c_str(),
download_url.c_str())));
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
@@ -1997,16 +1970,21 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadCreated,
base::StringPrintf("[{\"danger\": \"safe\","
- " \"incognito\": false,"
- " \"mime\": \"application/octet-stream\","
- " \"paused\": false,"
- " \"bytesReceived\": 164,"
- " \"url\": \"%s\"}]", download_url.c_str())));
+ " \"incognito\": false,"
+ " \"mime\": \"application/octet-stream\","
+ " \"paused\": false,"
+ " \"url\": \"%s\"}]", download_url.c_str())));
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
- " \"state\": {"
- " \"previous\": \"in_progress\","
- " \"current\": \"complete\"}}]", result_id)));
+ " \"state\": {"
+ " \"previous\": \"in_progress\","
+ " \"current\": \"complete\"},"
+ " \"filename\": {"
+ " \"previous\": \"%s\","
+ " \"current\": \"%s\"}}]",
+ result_id,
+ GetFilename("post-succeed.txt.crdownload").c_str(),
+ GetFilename("post-succeed.txt").c_str())));
}
// Test that downloadPostSuccess would fail if the resource requires the POST
@@ -2162,12 +2140,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadCreated,
base::StringPrintf("[{\"danger\": \"safe\","
- " \"filename\": \"%s\","
" \"incognito\": false,"
" \"mime\": \"text/plain\","
" \"paused\": false,"
" \"url\": \"%s\"}]",
- GetFilename("on_record.txt.crdownload").c_str(),
download_url.c_str())));
ASSERT_TRUE(WaitFor(extension_event_names::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"

Powered by Google App Engine
This is Rietveld 408576698