OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 scoped_ptr<base::Value> value(Value::CreateStringValue(cpp_value)); | 121 scoped_ptr<base::Value> value(Value::CreateStringValue(cpp_value)); |
122 CHECK(query_.AddFilter(name, *value.get())); | 122 CHECK(query_.AddFilter(name, *value.get())); |
123 } | 123 } |
124 | 124 |
125 template<> void DownloadQueryTest::AddFilter( | 125 template<> void DownloadQueryTest::AddFilter( |
126 DownloadQuery::FilterType name, const char16* cpp_value) { | 126 DownloadQuery::FilterType name, const char16* cpp_value) { |
127 scoped_ptr<base::Value> value(Value::CreateStringValue(string16(cpp_value))); | 127 scoped_ptr<base::Value> value(Value::CreateStringValue(string16(cpp_value))); |
128 CHECK(query_.AddFilter(name, *value.get())); | 128 CHECK(query_.AddFilter(name, *value.get())); |
129 } | 129 } |
130 | 130 |
| 131 template<> void DownloadQueryTest::AddFilter( |
| 132 DownloadQuery::FilterType name, std::vector<string16> cpp_value) { |
| 133 scoped_ptr<base::ListValue> list(new base::ListValue()); |
| 134 for (std::vector<string16>::const_iterator it = cpp_value.begin(); |
| 135 it != cpp_value.end(); ++it) { |
| 136 list->Append(Value::CreateStringValue(*it)); |
| 137 } |
| 138 CHECK(query_.AddFilter(name, *list.get())); |
| 139 } |
| 140 |
| 141 template<> void DownloadQueryTest::AddFilter( |
| 142 DownloadQuery::FilterType name, std::vector<std::string> cpp_value) { |
| 143 scoped_ptr<base::ListValue> list(new base::ListValue()); |
| 144 for (std::vector<std::string>::const_iterator it = cpp_value.begin(); |
| 145 it != cpp_value.end(); ++it) { |
| 146 list->Append(Value::CreateStringValue(*it)); |
| 147 } |
| 148 CHECK(query_.AddFilter(name, *list.get())); |
| 149 } |
| 150 |
131 #if defined(OS_WIN) | 151 #if defined(OS_WIN) |
132 template<> void DownloadQueryTest::AddFilter( | 152 template<> void DownloadQueryTest::AddFilter( |
133 DownloadQuery::FilterType name, std::wstring cpp_value) { | 153 DownloadQuery::FilterType name, std::wstring cpp_value) { |
134 scoped_ptr<base::Value> value(Value::CreateStringValue(cpp_value)); | 154 scoped_ptr<base::Value> value(Value::CreateStringValue(cpp_value)); |
135 CHECK(query_.AddFilter(name, *value.get())); | 155 CHECK(query_.AddFilter(name, *value.get())); |
136 } | 156 } |
137 #endif | 157 #endif |
138 | 158 |
139 TEST_F(DownloadQueryTest, DownloadQueryTest_ZeroItems) { | 159 TEST_F(DownloadQueryTest, DownloadQueryTest_ZeroItems) { |
140 Search(); | 160 Search(); |
(...skipping 29 matching lines...) Expand all Loading... |
170 static_cast<content::BrowserContext*>(NULL))); | 190 static_cast<content::BrowserContext*>(NULL))); |
171 base::FilePath match_filename(FILE_PATH_LITERAL("query")); | 191 base::FilePath match_filename(FILE_PATH_LITERAL("query")); |
172 EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef( | 192 EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef( |
173 match_filename)); | 193 match_filename)); |
174 base::FilePath fail_filename(FILE_PATH_LITERAL("fail")); | 194 base::FilePath fail_filename(FILE_PATH_LITERAL("fail")); |
175 EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef( | 195 EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef( |
176 fail_filename)); | 196 fail_filename)); |
177 GURL fail_url("http://example.com/fail"); | 197 GURL fail_url("http://example.com/fail"); |
178 EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); | 198 EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); |
179 EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); | 199 EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); |
180 AddFilter(DownloadQuery::FILTER_QUERY, "query"); | 200 std::vector<std::string> query_terms; |
| 201 query_terms.push_back("query"); |
| 202 AddFilter(DownloadQuery::FILTER_QUERY, query_terms); |
181 ExpectStandardFilterResults(); | 203 ExpectStandardFilterResults(); |
182 } | 204 } |
183 | 205 |
184 TEST_F(DownloadQueryTest, DownloadQueryTest_FilterGenericQueryUrl) { | 206 TEST_F(DownloadQueryTest, DownloadQueryTest_FilterGenericQueryUrl) { |
185 CreateMocks(2); | 207 CreateMocks(2); |
186 EXPECT_CALL(mock(0), GetBrowserContext()).WillRepeatedly(Return( | 208 EXPECT_CALL(mock(0), GetBrowserContext()).WillRepeatedly(Return( |
187 static_cast<content::BrowserContext*>(NULL))); | 209 static_cast<content::BrowserContext*>(NULL))); |
188 EXPECT_CALL(mock(1), GetBrowserContext()).WillRepeatedly(Return( | 210 EXPECT_CALL(mock(1), GetBrowserContext()).WillRepeatedly(Return( |
189 static_cast<content::BrowserContext*>(NULL))); | 211 static_cast<content::BrowserContext*>(NULL))); |
190 base::FilePath fail_filename(FILE_PATH_LITERAL("fail")); | 212 base::FilePath fail_filename(FILE_PATH_LITERAL("fail")); |
191 EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef( | 213 EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef( |
192 fail_filename)); | 214 fail_filename)); |
193 EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef( | 215 EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef( |
194 fail_filename)); | 216 fail_filename)); |
195 GURL match_url("http://query.com/query"); | 217 GURL match_url("http://query.com/query"); |
196 EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(match_url)); | 218 EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(match_url)); |
197 GURL fail_url("http://example.com/fail"); | 219 GURL fail_url("http://example.com/fail"); |
198 EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); | 220 EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); |
199 AddFilter(DownloadQuery::FILTER_QUERY, "query"); | 221 std::vector<std::string> query_terms; |
| 222 query_terms.push_back("query"); |
| 223 AddFilter(DownloadQuery::FILTER_QUERY, query_terms); |
200 ExpectStandardFilterResults(); | 224 ExpectStandardFilterResults(); |
201 } | 225 } |
202 | 226 |
203 TEST_F(DownloadQueryTest, DownloadQueryTest_FilterGenericQueryFilenameI18N) { | 227 TEST_F(DownloadQueryTest, DownloadQueryTest_FilterGenericQueryFilenameI18N) { |
204 CreateMocks(2); | 228 CreateMocks(2); |
205 EXPECT_CALL(mock(0), GetBrowserContext()).WillRepeatedly(Return( | 229 EXPECT_CALL(mock(0), GetBrowserContext()).WillRepeatedly(Return( |
206 static_cast<content::BrowserContext*>(NULL))); | 230 static_cast<content::BrowserContext*>(NULL))); |
207 EXPECT_CALL(mock(1), GetBrowserContext()).WillRepeatedly(Return( | 231 EXPECT_CALL(mock(1), GetBrowserContext()).WillRepeatedly(Return( |
208 static_cast<content::BrowserContext*>(NULL))); | 232 static_cast<content::BrowserContext*>(NULL))); |
209 const base::FilePath::StringType kTestString( | 233 const base::FilePath::StringType kTestString( |
210 #if defined(OS_POSIX) | 234 #if defined(OS_POSIX) |
211 "/\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xbd\xa0\xe5\xa5\xbd" | 235 "/\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xbd\xa0\xe5\xa5\xbd" |
212 #elif defined(OS_WIN) | 236 #elif defined(OS_WIN) |
213 L"/\x4f60\x597d\x4f60\x597d" | 237 L"/\x4f60\x597d\x4f60\x597d" |
214 #endif | 238 #endif |
215 ); | 239 ); |
216 base::FilePath match_filename(kTestString); | 240 base::FilePath match_filename(kTestString); |
217 EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef( | 241 EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef( |
218 match_filename)); | 242 match_filename)); |
219 base::FilePath fail_filename(FILE_PATH_LITERAL("fail")); | 243 base::FilePath fail_filename(FILE_PATH_LITERAL("fail")); |
220 EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef( | 244 EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef( |
221 fail_filename)); | 245 fail_filename)); |
222 GURL fail_url("http://example.com/fail"); | 246 GURL fail_url("http://example.com/fail"); |
223 EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); | 247 EXPECT_CALL(mock(0), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); |
224 EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); | 248 EXPECT_CALL(mock(1), GetOriginalUrl()).WillRepeatedly(ReturnRef(fail_url)); |
225 AddFilter(DownloadQuery::FILTER_QUERY, kTestString); | 249 std::vector<base::FilePath::StringType> query_terms; |
| 250 query_terms.push_back(kTestString); |
| 251 AddFilter(DownloadQuery::FILTER_QUERY, query_terms); |
226 ExpectStandardFilterResults(); | 252 ExpectStandardFilterResults(); |
227 } | 253 } |
228 | 254 |
229 TEST_F(DownloadQueryTest, DownloadQueryTest_FilterFilenameRegex) { | 255 TEST_F(DownloadQueryTest, DownloadQueryTest_FilterFilenameRegex) { |
230 CreateMocks(2); | 256 CreateMocks(2); |
231 base::FilePath match_filename(FILE_PATH_LITERAL("query")); | 257 base::FilePath match_filename(FILE_PATH_LITERAL("query")); |
232 EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef( | 258 EXPECT_CALL(mock(0), GetTargetFilePath()).WillRepeatedly(ReturnRef( |
233 match_filename)); | 259 match_filename)); |
234 base::FilePath fail_filename(FILE_PATH_LITERAL("fail")); | 260 base::FilePath fail_filename(FILE_PATH_LITERAL("fail")); |
235 EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef( | 261 EXPECT_CALL(mock(1), GetTargetFilePath()).WillRepeatedly(ReturnRef( |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 base::Time start = base::Time::Now(); | 609 base::Time start = base::Time::Now(); |
584 Search(); | 610 Search(); |
585 base::Time end = base::Time::Now(); | 611 base::Time end = base::Time::Now(); |
586 double nanos = (end - start).InMillisecondsF() * 1000.0 * 1000.0; | 612 double nanos = (end - start).InMillisecondsF() * 1000.0 * 1000.0; |
587 double nanos_per_item = nanos / static_cast<double>(kNumItems); | 613 double nanos_per_item = nanos / static_cast<double>(kNumItems); |
588 double nanos_per_item_per_filter = nanos_per_item | 614 double nanos_per_item_per_filter = nanos_per_item |
589 / static_cast<double>(kNumFilters); | 615 / static_cast<double>(kNumFilters); |
590 std::cout << "Search took " << nanos_per_item_per_filter | 616 std::cout << "Search took " << nanos_per_item_per_filter |
591 << " nanoseconds per item per filter.\n"; | 617 << " nanoseconds per item per filter.\n"; |
592 } | 618 } |
OLD | NEW |