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

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

Issue 16924017: A few minor changes to the chrome.downloads extension API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: @r214130 Created 7 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_browsertest.cc
diff --git a/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
similarity index 93%
rename from chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
rename to chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
index 93a40f2ffc6d5696c3131292794f540b4f70cf15..50606170dc238098ac57448cdf852133230e8037 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api_unittest.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
@@ -62,6 +62,10 @@ using content::URLRequestSlowDownloadJob;
namespace events = extensions::event_names;
+namespace errors = download_extension_errors;
+
+namespace api = extensions::api::downloads;
+
namespace {
// Comparator that orders download items by their ID. Can be used with
@@ -349,19 +353,22 @@ class DownloadExtensionTest : public ExtensionApiTest {
current_browser()->profile(), event_name, json_args);
}
- bool WaitForInterruption(DownloadItem* item, int expected_error,
- const std::string& on_created_event) {
+ bool WaitForInterruption(
+ DownloadItem* item,
+ content::DownloadInterruptReason expected_error,
+ const std::string& on_created_event) {
if (!WaitFor(events::kOnDownloadCreated, on_created_event))
return false;
// Now, onCreated is always fired before interruption.
return WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
- " \"error\": {\"current\": %d},"
- " \"state\": {"
- " \"previous\": \"in_progress\","
- " \"current\": \"interrupted\"}}]",
- item->GetId(),
- expected_error));
+ " \"error\": {\"current\": \"%s\"},"
+ " \"state\": {"
+ " \"previous\": \"in_progress\","
+ " \"current\": \"interrupted\"}}]",
+ item->GetId(),
+ content::InterruptReasonDebugString(
+ expected_error).c_str()));
}
void ClearEvents() {
@@ -904,12 +911,42 @@ bool ItemIsInterrupted(DownloadItem* item) {
return item->GetState() == DownloadItem::INTERRUPTED;
}
+content::DownloadInterruptReason InterruptReasonExtensionToContent(
+ api::InterruptReason error) {
+ switch (error) {
+ case api::INTERRUPT_REASON_NONE:
+ return content::DOWNLOAD_INTERRUPT_REASON_NONE;
+#define INTERRUPT_REASON(name, value) \
+ case api::INTERRUPT_REASON_##name: \
+ return content::DOWNLOAD_INTERRUPT_REASON_##name;
+#include "content/public/browser/download_interrupt_reason_values.h"
+#undef INTERRUPT_REASON
+ }
+ NOTREACHED();
+ return content::DOWNLOAD_INTERRUPT_REASON_NONE;
+}
+
+api::InterruptReason InterruptReasonContentToExtension(
+ content::DownloadInterruptReason error) {
+ switch (error) {
+ case content::DOWNLOAD_INTERRUPT_REASON_NONE:
+ return api::INTERRUPT_REASON_NONE;
+#define INTERRUPT_REASON(name, value) \
+ case content::DOWNLOAD_INTERRUPT_REASON_##name: \
+ return api::INTERRUPT_REASON_##name;
+#include "content/public/browser/download_interrupt_reason_values.h"
+#undef INTERRUPT_REASON
+ }
+ NOTREACHED();
+ return api::INTERRUPT_REASON_NONE;
+}
+
} // namespace
IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
DownloadExtensionTest_Open) {
LoadExtension("downloads_split");
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
+ EXPECT_STREQ(errors::kInvalidId,
RunFunctionAndReturnError(
new DownloadsOpenFunction(),
"[-42]").c_str());
@@ -925,7 +962,7 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
" \"paused\": false,"
" \"url\": \"%s\"}]",
download_item->GetURL().spec().c_str())));
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
+ EXPECT_STREQ(errors::kNotComplete,
RunFunctionAndReturnError(
new DownloadsOpenFunction(),
DownloadItemIdAsArgList(download_item)).c_str());
@@ -978,29 +1015,25 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
DownloadItemIdAsArgList(download_item)));
EXPECT_EQ(DownloadItem::CANCELLED, download_item->GetState());
- // Calling paused on a non-active download yields kInvalidOperationError.
+ // Calling paused on a non-active download yields kInvalidId.
std::string error = RunFunctionAndReturnError(
new DownloadsPauseFunction(), DownloadItemIdAsArgList(download_item));
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
- error.c_str());
+ EXPECT_STREQ(errors::kNotInProgress, error.c_str());
- // Calling resume on a non-active download yields kInvalidOperationError
+ // Calling resume on a non-active download yields kInvalidId
error = RunFunctionAndReturnError(
new DownloadsResumeFunction(), DownloadItemIdAsArgList(download_item));
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
- error.c_str());
+ EXPECT_STREQ(errors::kNotResumable, error.c_str());
- // Calling paused on a non-existent download yields kInvalidOperationError.
+ // Calling paused on a non-existent download yields kInvalidId.
error = RunFunctionAndReturnError(
new DownloadsPauseFunction(), "[-42]");
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
- error.c_str());
+ EXPECT_STREQ(errors::kInvalidId, error.c_str());
- // Calling resume on a non-existent download yields kInvalidOperationError
+ // Calling resume on a non-existent download yields kInvalidId
error = RunFunctionAndReturnError(
new DownloadsResumeFunction(), "[-42]");
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
- error.c_str());
+ EXPECT_STREQ(errors::kInvalidId, error.c_str());
int id = download_item->GetId();
scoped_ptr<base::Value> result(RunFunctionAndReturnResult(
@@ -1096,16 +1129,16 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
IconLoader::NORMAL,
std::string()),
args32);
- EXPECT_STREQ(download_extension_errors::kIconNotFoundError, error.c_str());
+ EXPECT_STREQ(errors::kIconNotFound, error.c_str());
- // Once the download item is deleted, we should return kInvalidOperationError.
+ // Once the download item is deleted, we should return kInvalidId.
int id = download_item->GetId();
download_item->Remove();
download_item = NULL;
EXPECT_EQ(static_cast<DownloadItem*>(NULL),
GetCurrentManager()->GetDownload(id));
error = RunFunctionAndReturnError(new DownloadsGetFileIconFunction(), args32);
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
+ EXPECT_STREQ(errors::kInvalidId,
error.c_str());
}
@@ -1146,8 +1179,6 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
&result_string));
EXPECT_STREQ("hello", result_string.c_str());
}
-
- // The temporary files should be cleaned up when the base::ScopedTempDir is removed.
}
// Test passing the empty query to search().
@@ -1244,7 +1275,7 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
&items));
scoped_ptr<base::Value> result(RunFunctionAndReturnResult(
- new DownloadsSearchFunction(), "[{\"orderBy\": \"filename\"}]"));
+ new DownloadsSearchFunction(), "[{\"orderBy\": [\"filename\"]}]"));
ASSERT_TRUE(result.get());
base::ListValue* result_list = NULL;
ASSERT_TRUE(result->GetAsList(&result_list));
@@ -1277,7 +1308,7 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
&items));
scoped_ptr<base::Value> result(RunFunctionAndReturnResult(
- new DownloadsSearchFunction(), "[{\"orderBy\": \"\"}]"));
+ new DownloadsSearchFunction(), "[{\"orderBy\": []}]"));
ASSERT_TRUE(result.get());
base::ListValue* result_list = NULL;
ASSERT_TRUE(result->GetAsList(&result_list));
@@ -1354,15 +1385,15 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
DownloadExtensionTest_SearchInvalid) {
std::string error = RunFunctionAndReturnError(
new DownloadsSearchFunction(), "[{\"filenameRegex\": \"(\"}]");
- EXPECT_STREQ(download_extension_errors::kInvalidFilterError,
+ EXPECT_STREQ(errors::kInvalidFilter,
error.c_str());
error = RunFunctionAndReturnError(
- new DownloadsSearchFunction(), "[{\"orderBy\": \"goat\"}]");
- EXPECT_STREQ(download_extension_errors::kInvalidOrderByError,
+ new DownloadsSearchFunction(), "[{\"orderBy\": [\"goat\"]}]");
+ EXPECT_STREQ(errors::kInvalidOrderBy,
error.c_str());
error = RunFunctionAndReturnError(
new DownloadsSearchFunction(), "[{\"limit\": -1}]");
- EXPECT_STREQ(download_extension_errors::kInvalidQueryLimit,
+ EXPECT_STREQ(errors::kInvalidQueryLimit,
error.c_str());
}
@@ -1388,7 +1419,7 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
new DownloadsSearchFunction(), "[{"
"\"state\": \"complete\", "
"\"danger\": \"content\", "
- "\"orderBy\": \"filename\", "
+ "\"orderBy\": [\"filename\"], "
"\"limit\": 1}]"));
ASSERT_TRUE(result.get());
base::ListValue* result_list = NULL;
@@ -1468,16 +1499,16 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
// Pausing/Resuming the off-record item while on the record should return an
// error. Cancelling "non-existent" downloads is not an error.
error = RunFunctionAndReturnError(new DownloadsPauseFunction(), off_item_arg);
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
+ EXPECT_STREQ(errors::kInvalidId,
error.c_str());
error = RunFunctionAndReturnError(new DownloadsResumeFunction(),
off_item_arg);
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
+ EXPECT_STREQ(errors::kInvalidId,
error.c_str());
error = RunFunctionAndReturnError(
new DownloadsGetFileIconFunction(),
base::StringPrintf("[%d, {}]", off_item->GetId()));
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
+ EXPECT_STREQ(errors::kInvalidId,
error.c_str());
GoOffTheRecord();
@@ -1509,11 +1540,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
EXPECT_TRUE(RunFunction(new DownloadsCancelFunction(), on_item_arg));
EXPECT_EQ(DownloadItem::CANCELLED, on_item->GetState());
error = RunFunctionAndReturnError(new DownloadsPauseFunction(), on_item_arg);
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
- error.c_str());
+ EXPECT_STREQ(errors::kNotInProgress, error.c_str());
error = RunFunctionAndReturnError(new DownloadsResumeFunction(), on_item_arg);
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
- error.c_str());
+ EXPECT_STREQ(errors::kNotResumable, error.c_str());
EXPECT_TRUE(RunFunction(new DownloadsPauseFunction(), off_item_arg));
EXPECT_TRUE(off_item->IsPaused());
EXPECT_TRUE(RunFunction(new DownloadsPauseFunction(), off_item_arg));
@@ -1528,14 +1557,11 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
EXPECT_EQ(DownloadItem::CANCELLED, off_item->GetState());
EXPECT_TRUE(RunFunction(new DownloadsCancelFunction(), off_item_arg));
EXPECT_EQ(DownloadItem::CANCELLED, off_item->GetState());
- error = RunFunctionAndReturnError(new DownloadsPauseFunction(),
- off_item_arg);
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
- error.c_str());
+ error = RunFunctionAndReturnError(new DownloadsPauseFunction(), off_item_arg);
+ EXPECT_STREQ(errors::kNotInProgress, error.c_str());
error = RunFunctionAndReturnError(new DownloadsResumeFunction(),
off_item_arg);
- EXPECT_STREQ(download_extension_errors::kInvalidOperationError,
- error.c_str());
+ EXPECT_STREQ(errors::kNotResumable, error.c_str());
}
// Test that we can start a download and that the correct sequence of events is
@@ -1673,7 +1699,7 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
for (size_t index = 0; index < arraysize(kUnsafeHeaders); ++index) {
std::string download_url = test_server()->GetURL("slow?0").spec();
- EXPECT_STREQ(download_extension_errors::kGenericError,
+ EXPECT_STREQ(errors::kInvalidHeader,
RunFunctionAndReturnError(new DownloadsDownloadFunction(),
base::StringPrintf(
"[{\"url\": \"%s\","
@@ -1687,8 +1713,6 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
}
}
-// Test that subdirectories (slashes) are disallowed in filenames.
-// TODO(benjhayden) Update this when subdirectories are supported.
IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
DownloadExtensionTest_Download_Subdirectory) {
LoadExtension("downloads_split");
@@ -1697,12 +1721,39 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
std::string download_url = test_server()->GetURL("slow?0").spec();
GoOnTheRecord();
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError,
- RunFunctionAndReturnError(new DownloadsDownloadFunction(),
- base::StringPrintf(
- "[{\"url\": \"%s\","
- " \"filename\": \"sub/dir/ect/ory.txt\"}]",
- download_url.c_str())).c_str());
+ scoped_ptr<base::Value> result(RunFunctionAndReturnResult(
+ new DownloadsDownloadFunction(), base::StringPrintf(
+ "[{\"url\": \"%s\","
+ " \"filename\": \"sub/dir/ect/ory.txt\"}]",
+ download_url.c_str())));
+ ASSERT_TRUE(result.get());
+ int result_id = -1;
+ ASSERT_TRUE(result->GetAsInteger(&result_id));
+ DownloadItem* item = GetCurrentManager()->GetDownload(result_id);
+ ASSERT_TRUE(item);
+ ScopedCancellingItem canceller(item);
+ ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
+
+ ASSERT_TRUE(WaitFor(events::kOnDownloadCreated,
+ base::StringPrintf("[{\"danger\": \"safe\","
+ " \"incognito\": false,"
+ " \"mime\": \"text/plain\","
+ " \"paused\": false,"
+ " \"url\": \"%s\"}]",
+ download_url.c_str())));
+ ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
+ base::StringPrintf("[{\"id\": %d,"
+ " \"filename\": {"
+ " \"previous\": \"\","
+ " \"current\": \"%s\"}}]",
+ result_id,
+ GetFilename("sub/dir/ect/ory.txt").c_str())));
+ ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
+ base::StringPrintf("[{\"id\": %d,"
+ " \"state\": {"
+ " \"previous\": \"in_progress\","
+ " \"current\": \"complete\"}}]",
+ result_id)));
}
// Test that invalid filenames are disallowed.
@@ -1714,7 +1765,7 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
std::string download_url = test_server()->GetURL("slow?0").spec();
GoOnTheRecord();
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError,
+ EXPECT_STREQ(errors::kInvalidFilename,
RunFunctionAndReturnError(new DownloadsDownloadFunction(),
base::StringPrintf(
"[{\"url\": \"%s\","
@@ -1732,14 +1783,14 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
"foo bar",
"../hello",
"/hello",
- "google.com/",
"http://",
"#frag",
"foo/bar.html#frag",
+ "google.com/",
};
for (size_t index = 0; index < arraysize(kInvalidURLs); ++index) {
- EXPECT_STREQ(download_extension_errors::kInvalidURLError,
+ EXPECT_STREQ(errors::kInvalidURL,
RunFunctionAndReturnError(new DownloadsDownloadFunction(),
base::StringPrintf(
"[{\"url\": \"%s\"}]", kInvalidURLs[index])).c_str())
@@ -1920,13 +1971,15 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ScopedCancellingItem canceller(item);
ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
- ASSERT_TRUE(WaitForInterruption(item, 30, base::StringPrintf(
- "[{\"danger\": \"safe\","
- " \"incognito\": false,"
- " \"mime\": \"text/html\","
- " \"paused\": false,"
- " \"url\": \"%s\"}]",
- download_url.c_str())));
+ ASSERT_TRUE(WaitForInterruption(
+ item,
+ content::DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED,
+ base::StringPrintf("[{\"danger\": \"safe\","
+ " \"incognito\": false,"
+ " \"mime\": \"text/html\","
+ " \"paused\": false,"
+ " \"url\": \"%s\"}]",
+ download_url.c_str())));
}
// Test that DownloadsDownloadFunction propagates |headers| to the URLRequest.
@@ -2003,14 +2056,16 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ScopedCancellingItem canceller(item);
ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
- ASSERT_TRUE(WaitForInterruption(item, 33, base::StringPrintf(
- "[{\"danger\": \"safe\","
- " \"incognito\": false,"
- " \"bytesReceived\": 0,"
- " \"mime\": \"\","
- " \"paused\": false,"
- " \"url\": \"%s\"}]",
- download_url.c_str())));
+ ASSERT_TRUE(WaitForInterruption(
+ item,
+ content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT,
+ base::StringPrintf("[{\"danger\": \"safe\","
+ " \"incognito\": false,"
+ " \"bytesReceived\": 0,"
+ " \"mime\": \"\","
+ " \"paused\": false,"
+ " \"url\": \"%s\"}]",
+ download_url.c_str())));
}
// Test that DownloadsDownloadFunction propagates the Authorization header
@@ -2129,15 +2184,17 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ScopedCancellingItem canceller(item);
ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
- ASSERT_TRUE(WaitForInterruption(item, 33, base::StringPrintf(
- "[{\"danger\": \"safe\","
- " \"incognito\": false,"
- " \"mime\": \"\","
- " \"paused\": false,"
- " \"id\": %d,"
- " \"url\": \"%s\"}]",
- result_id,
- download_url.c_str())));
+ ASSERT_TRUE(WaitForInterruption(
+ item,
+ content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT,
+ base::StringPrintf("[{\"danger\": \"safe\","
+ " \"incognito\": false,"
+ " \"mime\": \"\","
+ " \"paused\": false,"
+ " \"id\": %d,"
+ " \"url\": \"%s\"}]",
+ result_id,
+ download_url.c_str())));
}
// Test that downloadPostSuccess would fail if the resource requires the POST
@@ -2168,15 +2225,17 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
ScopedCancellingItem canceller(item);
ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
- ASSERT_TRUE(WaitForInterruption(item, 33, base::StringPrintf(
- "[{\"danger\": \"safe\","
- " \"incognito\": false,"
- " \"mime\": \"\","
- " \"paused\": false,"
- " \"id\": %d,"
- " \"url\": \"%s\"}]",
- result_id,
- download_url.c_str())));
+ ASSERT_TRUE(WaitForInterruption(
+ item,
+ content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT,
+ base::StringPrintf("[{\"danger\": \"safe\","
+ " \"incognito\": false,"
+ " \"mime\": \"\","
+ " \"paused\": false,"
+ " \"id\": %d,"
+ " \"url\": \"%s\"}]",
+ result_id,
+ download_url.c_str())));
}
// Test that cancel()ing an in-progress download causes its state to transition
@@ -2215,7 +2274,7 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
item->Cancel(true);
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
- " \"error\": {\"current\": 40},"
+ " \"error\": {\"current\":\"USER_CANCELED\"},"
" \"state\": {"
" \"previous\": \"in_progress\","
" \"current\": \"interrupted\"}}]",
@@ -2324,7 +2383,7 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
GetExtensionId(),
result_id,
base::FilePath(),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
EXPECT_EQ("", error);
@@ -2391,7 +2450,7 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("overridden.swf")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
EXPECT_EQ("", error);
@@ -2399,17 +2458,15 @@ IN_PROC_BROWSER_TEST_F(
base::StringPrintf("[{\"id\": %d,"
" \"danger\": {"
" \"previous\":\"safe\","
- " \"current\":\"file\"},"
- " \"dangerAccepted\": {"
- " \"current\":false}}]",
+ " \"current\":\"file\"}}]",
result_id)));
item->ValidateDangerousDownload();
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
- " \"dangerAccepted\": {"
- " \"previous\":false,"
- " \"current\":true}}]",
+ " \"danger\": {"
+ " \"previous\":\"file\","
+ " \"current\":\"accepted\"}}]",
result_id)));
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
@@ -2468,9 +2525,9 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("sneaky/../../sneaky.txt")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError, error.c_str());
+ EXPECT_STREQ(errors::kInvalidFilename, error.c_str());
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
" \"filename\": {"
@@ -2533,9 +2590,9 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("<")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError, error.c_str());
+ EXPECT_STREQ(errors::kInvalidFilename, error.c_str());
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged, base::StringPrintf(
"[{\"id\": %d,"
" \"filename\": {"
@@ -2599,9 +2656,9 @@ IN_PROC_BROWSER_TEST_F(
result_id,
base::FilePath(FILE_PATH_LITERAL(
"My Computer.{20D04FE0-3AEA-1069-A2D8-08002B30309D}/foo")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError, error.c_str());
+ EXPECT_STREQ(errors::kInvalidFilename, error.c_str());
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged, base::StringPrintf(
"[{\"id\": %d,"
" \"filename\": {"
@@ -2664,9 +2721,9 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("con.foo")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError, error.c_str());
+ EXPECT_STREQ(errors::kInvalidFilename, error.c_str());
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged, base::StringPrintf(
"[{\"id\": %d,"
" \"filename\": {"
@@ -2729,9 +2786,9 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL(".")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError, error.c_str());
+ EXPECT_STREQ(errors::kInvalidFilename, error.c_str());
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
" \"filename\": {"
@@ -2794,9 +2851,9 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("..")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError, error.c_str());
+ EXPECT_STREQ(errors::kInvalidFilename, error.c_str());
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
" \"filename\": {"
@@ -2859,9 +2916,9 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
downloads_directory().Append(FILE_PATH_LITERAL("sneaky.txt")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError, error.c_str());
+ EXPECT_STREQ(errors::kInvalidFilename, error.c_str());
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
@@ -2925,9 +2982,9 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("foo/")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
- EXPECT_STREQ(download_extension_errors::kInvalidFilenameError, error.c_str());
+ EXPECT_STREQ(errors::kInvalidFilename, error.c_str());
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
@@ -2990,7 +3047,7 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
EXPECT_EQ("", error);
@@ -3048,7 +3105,7 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("foo")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_OVERWRITE,
+ api::FILENAME_CONFLICT_ACTION_OVERWRITE,
&error));
EXPECT_EQ("", error);
@@ -3173,7 +3230,7 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("42.txt")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
EXPECT_EQ("", error);
@@ -3232,7 +3289,7 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("5.txt")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
EXPECT_EQ("", error);
@@ -3307,7 +3364,7 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("42.txt")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
EXPECT_EQ("", error);
@@ -3365,7 +3422,7 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
result_id,
base::FilePath(FILE_PATH_LITERAL("42.txt")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error));
EXPECT_EQ("", error);
@@ -3471,7 +3528,7 @@ IN_PROC_BROWSER_TEST_F(
GetExtensionId(),
item->GetId(),
base::FilePath(FILE_PATH_LITERAL("42.txt")),
- extensions::api::downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY,
+ api::FILENAME_CONFLICT_ACTION_UNIQUIFY,
&error)) << error;
EXPECT_EQ("", error);
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
@@ -3487,7 +3544,7 @@ IN_PROC_BROWSER_TEST_F(
ASSERT_TRUE(interrupted.WaitForEvent());
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
- " \"error\":{\"current\":20},"
+ " \"error\":{\"current\":\"NETWORK_FAILED\"},"
" \"state\":{"
" \"previous\":\"in_progress\","
" \"current\":\"interrupted\"}}]",
@@ -3506,7 +3563,7 @@ IN_PROC_BROWSER_TEST_F(
ASSERT_TRUE(WaitFor(events::kOnDownloadChanged,
base::StringPrintf("[{\"id\": %d,"
- " \"error\":{\"previous\":20},"
+ " \"error\":{\"previous\":\"NETWORK_FAILED\"},"
" \"state\":{"
" \"previous\":\"interrupted\","
" \"current\":\"in_progress\"}}]",
@@ -3542,3 +3599,17 @@ class DownloadsApiTest : public ExtensionApiTest {
IN_PROC_BROWSER_TEST_F(DownloadsApiTest, DownloadsApiTest) {
ASSERT_TRUE(RunExtensionTest("downloads")) << message_;
}
+
+
+TEST(DownloadInterruptReasonEnumsSynced,
+ DownloadInterruptReasonEnumsSynced) {
+#define INTERRUPT_REASON(name, value) \
+ EXPECT_EQ(InterruptReasonContentToExtension( \
+ content::DOWNLOAD_INTERRUPT_REASON_##name), \
+ api::INTERRUPT_REASON_##name); \
+ EXPECT_EQ(InterruptReasonExtensionToContent( \
+ api::INTERRUPT_REASON_##name), \
+ content::DOWNLOAD_INTERRUPT_REASON_##name);
+#include "content/public/browser/download_interrupt_reason_values.h"
+#undef INTERRUPT_REASON
+}

Powered by Google App Engine
This is Rietveld 408576698