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

Unified Diff: chrome/browser/download/download_query_unittest.cc

Issue 1706193002: Expose final download URL (actual url after redirects) in the extension API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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/download/download_query_unittest.cc
diff --git a/chrome/browser/download/download_query_unittest.cc b/chrome/browser/download/download_query_unittest.cc
index 37fba0cefa35f0e01d63b99e0193ac6d3a160313..e56cf9f84dda1bbffc4468d17055226d51ecbbda 100644
--- a/chrome/browser/download/download_query_unittest.cc
+++ b/chrome/browser/download/download_query_unittest.cc
@@ -197,6 +197,8 @@ TEST_F(DownloadQueryTest, DownloadQueryTest_FilterGenericQueryFilename) {
GURL fail_url("http://example.com/fail");
EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url));
EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url));
+ EXPECT_CALL(mock(0), GetURL()).WillRepeatedly(ReturnRef(fail_url));
+ EXPECT_CALL(mock(1), GetURL()).WillRepeatedly(ReturnRef(fail_url));
std::vector<std::string> query_terms;
query_terms.push_back("query");
AddFilter(DownloadQuery::FILTER_QUERY, query_terms);
@@ -218,6 +220,31 @@ TEST_F(DownloadQueryTest, DownloadQueryTest_FilterGenericQueryUrl) {
EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(match_url));
GURL fail_url("http://example.com/fail");
EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url));
+ EXPECT_CALL(mock(0), GetURL()).WillRepeatedly(ReturnRef(fail_url));
+ EXPECT_CALL(mock(1), GetURL()).WillRepeatedly(ReturnRef(fail_url));
+ std::vector<std::string> query_terms;
+ query_terms.push_back("query");
+ AddFilter(DownloadQuery::FILTER_QUERY, query_terms);
+ ExpectStandardFilterResults();
+}
+
+TEST_F(DownloadQueryTest, DownloadQueryTest_FilterGenericQueryFinalUrl) {
+ CreateMocks(2);
+ EXPECT_CALL(mock(0), GetBrowserContext()).WillRepeatedly(Return(
+ static_cast<content::BrowserContext*>(NULL)));
+ EXPECT_CALL(mock(1), GetBrowserContext()).WillRepeatedly(Return(
+ static_cast<content::BrowserContext*>(NULL)));
+ base::FilePath fail_filename(FILE_PATH_LITERAL("fail"));
+ EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef(
+ fail_filename));
+ EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef(
+ fail_filename));
+ GURL match_url("http://query.com/query");
+ GURL fail_url("http://example.com/fail");
+ EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url));
+ EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url));
+ EXPECT_CALL(mock(0), GetURL()).WillRepeatedly(ReturnRef(match_url));
+ EXPECT_CALL(mock(1), GetURL()).WillRepeatedly(ReturnRef(fail_url));
std::vector<std::string> query_terms;
query_terms.push_back("query");
AddFilter(DownloadQuery::FILTER_QUERY, query_terms);
@@ -246,6 +273,8 @@ TEST_F(DownloadQueryTest, DownloadQueryTest_FilterGenericQueryFilenameI18N) {
GURL fail_url("http://example.com/fail");
EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url));
EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url));
+ EXPECT_CALL(mock(0), GetURL()).WillRepeatedly(ReturnRef(fail_url));
+ EXPECT_CALL(mock(1), GetURL()).WillRepeatedly(ReturnRef(fail_url));
std::vector<base::FilePath::StringType> query_terms;
query_terms.push_back(kTestString);
AddFilter(DownloadQuery::FILTER_QUERY, query_terms);
@@ -318,6 +347,36 @@ TEST_F(DownloadQueryTest, DownloadQueryTest_FilterUrl) {
ExpectStandardFilterResults();
}
+TEST_F(DownloadQueryTest, DownloadQueryTest_FilterFinalUrlRegex) {
+ CreateMocks(2);
+ GURL match_url("http://query.com/query");
+ EXPECT_CALL(mock(0), GetURL()).WillRepeatedly(ReturnRef(match_url));
+ GURL fail_url("http://example.com/fail");
+ EXPECT_CALL(mock(1), GetURL()).WillRepeatedly(ReturnRef(fail_url));
+ AddFilter(DownloadQuery::FILTER_FINAL_URL_REGEX, "query");
+ ExpectStandardFilterResults();
+}
+
+TEST_F(DownloadQueryTest, DownloadQueryTest_SortFinalUrl) {
+ CreateMocks(2);
+ GURL b_url("http://example.com/b");
+ EXPECT_CALL(mock(0), GetURL()).WillRepeatedly(ReturnRef(b_url));
+ GURL a_url("http://example.com/a");
+ EXPECT_CALL(mock(1), GetURL()).WillRepeatedly(ReturnRef(a_url));
+ query()->AddSorter(DownloadQuery::SORT_FINAL_URL, DownloadQuery::ASCENDING);
+ ExpectSortInverted();
+}
+
+TEST_F(DownloadQueryTest, DownloadQueryTest_FilterFinalUrl) {
+ CreateMocks(2);
+ GURL match_url("http://query.com/query");
+ EXPECT_CALL(mock(0), GetURL()).WillRepeatedly(ReturnRef(match_url));
+ GURL fail_url("http://example.com/fail");
+ EXPECT_CALL(mock(1), GetURL()).WillRepeatedly(ReturnRef(fail_url));
+ AddFilter(DownloadQuery::FILTER_FINAL_URL, match_url.spec().c_str());
+ ExpectStandardFilterResults();
+}
+
TEST_F(DownloadQueryTest, DownloadQueryTest_FilterCallback) {
CreateMocks(2);
CHECK(query()->AddFilter(base::Bind(&IdNotEqual, 1)));

Powered by Google App Engine
This is Rietveld 408576698