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

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

Issue 10905215: Kill DownloadManager::SearchDownloads, DownloadItem::MatchesQuery (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 3 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
« no previous file with comments | « chrome/browser/download/download_query.cc ('k') | chrome/browser/download/save_page_browsertest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 fb382a7b4ba81ce783593d2d8cc1bac262de5520..c01ce774dc84ae213d3be73cbf67d885c5b3882c 100644
--- a/chrome/browser/download/download_query_unittest.cc
+++ b/chrome/browser/download/download_query_unittest.cc
@@ -133,10 +133,41 @@ TEST_F(DownloadQueryTest, DownloadQueryLimit) {
SWITCH3(_index, _col1, _ret1, _col2, _ret2, \
SWITCH2(_index, _col3, _ret3, _default))
+TEST_F(DownloadQueryTest, DownloadQuery_QueryFilter) {
+ FilePath match_filename(FILE_PATH_LITERAL("query"));
+ FilePath fail_filename(FILE_PATH_LITERAL("fail"));
+ GURL fail_url("http://example.com/fail");
+ GURL match_url("http://query.com/query");
+ scoped_ptr<base::Value> query_str(base::Value::CreateStringValue("query"));
+ static const size_t kNumItems = 4;
+ CreateMocks(kNumItems);
+ for (size_t i = 0; i < kNumItems; ++i) {
+ if (i != 0)
+ EXPECT_CALL(mock(i), GetId()).WillOnce(Return(i));
+ EXPECT_CALL(mock(i), GetTargetFilePath())
+ .WillRepeatedly(ReturnRef((i & 1) ? match_filename : fail_filename));
+ EXPECT_CALL(mock(i), GetOriginalUrl())
+ .WillRepeatedly(ReturnRef((i & 2) ? match_url : fail_url));
+ EXPECT_CALL(mock(i), GetBrowserContext()).WillRepeatedly(Return(
+ static_cast<content::BrowserContext*>(NULL)));
+ }
+ query()->AddFilter(DownloadQuery::FILTER_QUERY, *query_str.get());
+ Search();
+ ASSERT_EQ(3U, results()->size());
+ EXPECT_EQ(1, results()->at(0)->GetId());
+ EXPECT_EQ(2, results()->at(1)->GetId());
+ EXPECT_EQ(3, results()->at(2)->GetId());
+
+ // TODO(phajdan.jr): Also test these strings:
+ // "/\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xbd\xa0\xe5\xa5\xbd",
+ // L"/\x4f60\x597d\x4f60\x597d",
+ // "/%E4%BD%A0%E5%A5%BD%E4%BD%A0%E5%A5%BD"
+}
+
TEST_F(DownloadQueryTest, DownloadQueryAllFilters) {
// Set up mocks such that only mock(0) matches all filters, and every other
// mock fails a different filter (or two for GREATER/LESS filters).
- static const size_t kNumItems = 19;
+ static const size_t kNumItems = 18;
CreateMocks(kNumItems);
FilePath refail_filename(FILE_PATH_LITERAL("z"));
FilePath fail_filename(FILE_PATH_LITERAL("fail"));
@@ -162,7 +193,8 @@ TEST_F(DownloadQueryTest, DownloadQueryAllFilters) {
EXPECT_CALL(mock(i), GetSafetyState()).WillRepeatedly(Return(SWITCH2(i,
2, DownloadItem::DANGEROUS,
DownloadItem::DANGEROUS_BUT_VALIDATED)));
- EXPECT_CALL(mock(i), GetFullPath()).WillRepeatedly(ReturnRef(SWITCH3(i,
+ EXPECT_CALL(mock(i), GetTargetFilePath())
+ .WillRepeatedly(ReturnRef(SWITCH3(i,
3, refail_filename,
4, fail_filename,
match_filename)));
@@ -172,28 +204,26 @@ TEST_F(DownloadQueryTest, DownloadQueryAllFilters) {
EXPECT_CALL(mock(i), IsPaused()).WillRepeatedly(Return(SWITCH2(i,
6, false,
true)));
- EXPECT_CALL(mock(i), MatchesQuery(_)).WillRepeatedly(Return(SWITCH2(i,
- 7, false,
- true)));
EXPECT_CALL(mock(i), GetStartTime()).WillRepeatedly(Return(SWITCH4(i,
- 8, base::Time::FromTimeT(1),
- 9, base::Time::FromTimeT(4),
- 10, base::Time::FromTimeT(3),
- base::Time::FromTimeT(2))));
+ 7, base::Time::FromTimeT(1),
+ 8, base::Time::FromTimeT(4),
+ 9, base::Time::FromTimeT(3),
+ base::Time::FromTimeT(2))));
EXPECT_CALL(mock(i), GetTotalBytes()).WillRepeatedly(Return(SWITCH4(i,
- 11, 1,
- 12, 4,
- 13, 3,
+ 10, 1,
+ 11, 4,
+ 12, 3,
2)));
EXPECT_CALL(mock(i), GetOriginalUrl()).WillRepeatedly(ReturnRef(SWITCH3(i,
- 14, refail_url,
- 15, fail_url,
+ 13, refail_url,
+ 14, fail_url,
match_url)));
+ // 15 is AddFilter(Bind(IdNotEqual, 15))
EXPECT_CALL(mock(i), GetState()).WillRepeatedly(Return(SWITCH2(i,
- 17, DownloadItem::CANCELLED,
+ 16, DownloadItem::CANCELLED,
DownloadItem::IN_PROGRESS)));
EXPECT_CALL(mock(i), GetDangerType()).WillRepeatedly(Return(SWITCH2(i,
- 18, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
+ 17, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS)));
}
for (size_t i = 0; i < kNumItems; ++i) {
@@ -207,23 +237,22 @@ TEST_F(DownloadQueryTest, DownloadQueryAllFilters) {
match_filename.value().c_str()); break;
case 5: AddFilter(DownloadQuery::FILTER_MIME, "text"); break;
case 6: AddFilter(DownloadQuery::FILTER_PAUSED, true); break;
- case 7: AddFilter(DownloadQuery::FILTER_QUERY, ""); break;
- case 8: AddFilter(DownloadQuery::FILTER_STARTED_AFTER, 1000); break;
- case 9: AddFilter(DownloadQuery::FILTER_STARTED_BEFORE, 4000);
+ case 7: AddFilter(DownloadQuery::FILTER_STARTED_AFTER, 1000); break;
+ case 8: AddFilter(DownloadQuery::FILTER_STARTED_BEFORE, 4000);
break;
- case 10: AddFilter(DownloadQuery::FILTER_START_TIME, 2000); break;
- case 11: AddFilter(DownloadQuery::FILTER_TOTAL_BYTES_GREATER, 1);
+ case 9: AddFilter(DownloadQuery::FILTER_START_TIME, 2000); break;
+ case 10: AddFilter(DownloadQuery::FILTER_TOTAL_BYTES_GREATER, 1);
break;
- case 12: AddFilter(DownloadQuery::FILTER_TOTAL_BYTES_LESS, 4);
+ case 11: AddFilter(DownloadQuery::FILTER_TOTAL_BYTES_LESS, 4);
break;
- case 13: AddFilter(DownloadQuery::FILTER_TOTAL_BYTES, 2); break;
- case 14: AddFilter(DownloadQuery::FILTER_URL_REGEX, "example");
+ case 12: AddFilter(DownloadQuery::FILTER_TOTAL_BYTES, 2); break;
+ case 13: AddFilter(DownloadQuery::FILTER_URL_REGEX, "example");
break;
- case 15: AddFilter(DownloadQuery::FILTER_URL,
+ case 14: AddFilter(DownloadQuery::FILTER_URL,
match_url.spec().c_str()); break;
- case 16: CHECK(query()->AddFilter(base::Bind(&IdNotEqual, 16))); break;
- case 17: query()->AddFilter(DownloadItem::IN_PROGRESS); break;
- case 18: query()->AddFilter(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS);
+ case 15: CHECK(query()->AddFilter(base::Bind(&IdNotEqual, 15))); break;
+ case 16: query()->AddFilter(DownloadItem::IN_PROGRESS); break;
+ case 17: query()->AddFilter(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS);
break;
default: NOTREACHED(); break;
}
@@ -283,15 +312,15 @@ TEST_F(DownloadQueryTest, DownloadQuerySortDangerAccepted) {
TEST_F(DownloadQueryTest, DownloadQuerySortFilename) {
CreateMocks(2);
- FilePath a_filename(FILE_PATH_LITERAL("a"));
- FilePath b_filename(FILE_PATH_LITERAL("b"));
- EXPECT_CALL(mock(0), GetFullPath()).WillRepeatedly(ReturnRef(b_filename));
- EXPECT_CALL(mock(1), GetFullPath()).WillRepeatedly(ReturnRef(a_filename));
+ FilePath a_path(FILE_PATH_LITERAL("a"));
+ FilePath b_path(FILE_PATH_LITERAL("b"));
+ EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef(b_path));
+ EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef(a_path));
query()->AddSorter(
DownloadQuery::SORT_FILENAME, DownloadQuery::ASCENDING);
Search();
- EXPECT_EQ(a_filename, results()->at(0)->GetFullPath());
- EXPECT_EQ(b_filename, results()->at(1)->GetFullPath());
+ EXPECT_EQ(a_path, results()->at(0)->GetTargetFilePath());
+ EXPECT_EQ(b_path, results()->at(1)->GetTargetFilePath());
}
TEST_F(DownloadQueryTest, DownloadQuerySortMime) {
« no previous file with comments | « chrome/browser/download/download_query.cc ('k') | chrome/browser/download/save_page_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698