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

Side by Side Diff: chrome/browser/history/text_database_unittest.cc

Issue 4247: Port some things in browser/{download,history}, minor things in common.... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 12 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/path_service.h" 6 #include "base/path_service.h"
7 #include "base/scoped_ptr.h" 7 #include "base/scoped_ptr.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "chrome/browser/history/text_database.h" 9 #include "chrome/browser/history/text_database.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 options.begin_time = Time::FromInternalValue(0); 195 options.begin_time = Time::FromInternalValue(0);
196 196
197 std::vector<TextDatabase::Match> results; 197 std::vector<TextDatabase::Match> results;
198 Time first_time_searched; 198 Time first_time_searched;
199 TextDatabase::URLSet unique_urls; 199 TextDatabase::URLSet unique_urls;
200 db->GetTextMatches("COUNTTAG", options, &results, &unique_urls, 200 db->GetTextMatches("COUNTTAG", options, &results, &unique_urls,
201 &first_time_searched); 201 &first_time_searched);
202 EXPECT_TRUE(unique_urls.empty()) << "Didn't ask for unique URLs"; 202 EXPECT_TRUE(unique_urls.empty()) << "Didn't ask for unique URLs";
203 203
204 // All 3 sites should be returned in order. 204 // All 3 sites should be returned in order.
205 ASSERT_EQ(3, results.size()); 205 ASSERT_EQ(3U, results.size());
206 EXPECT_EQ(GURL(kURL1), results[2].url); 206 EXPECT_EQ(GURL(kURL1), results[2].url);
207 EXPECT_EQ(GURL(kURL2), results[1].url); 207 EXPECT_EQ(GURL(kURL2), results[1].url);
208 EXPECT_EQ(GURL(kURL3), results[0].url); 208 EXPECT_EQ(GURL(kURL3), results[0].url);
209 209
210 // Verify the info on those results. 210 // Verify the info on those results.
211 EXPECT_TRUE(Time::FromInternalValue(kTime1) == results[2].time); 211 EXPECT_TRUE(Time::FromInternalValue(kTime1) == results[2].time);
212 EXPECT_TRUE(Time::FromInternalValue(kTime2) == results[1].time); 212 EXPECT_TRUE(Time::FromInternalValue(kTime2) == results[1].time);
213 EXPECT_TRUE(Time::FromInternalValue(kTime3) == results[0].time); 213 EXPECT_TRUE(Time::FromInternalValue(kTime3) == results[0].time);
214 214
215 EXPECT_EQ(UTF8ToWide(std::string(kTitle1)), results[2].title); 215 EXPECT_EQ(UTF8ToWide(std::string(kTitle1)), results[2].title);
216 EXPECT_EQ(UTF8ToWide(std::string(kTitle2)), results[1].title); 216 EXPECT_EQ(UTF8ToWide(std::string(kTitle2)), results[1].title);
217 EXPECT_EQ(UTF8ToWide(std::string(kTitle3)), results[0].title); 217 EXPECT_EQ(UTF8ToWide(std::string(kTitle3)), results[0].title);
218 218
219 // Should have no matches in the title. 219 // Should have no matches in the title.
220 EXPECT_EQ(0, results[0].title_match_positions.size()); 220 EXPECT_EQ(0U, results[0].title_match_positions.size());
221 EXPECT_EQ(0, results[1].title_match_positions.size()); 221 EXPECT_EQ(0U, results[1].title_match_positions.size());
222 EXPECT_EQ(0, results[2].title_match_positions.size()); 222 EXPECT_EQ(0U, results[2].title_match_positions.size());
223 223
224 // We don't want to be dependent on the exact snippet algorithm, but we know 224 // We don't want to be dependent on the exact snippet algorithm, but we know
225 // since we searched for "COUNTTAG" which occurs at the beginning of each 225 // since we searched for "COUNTTAG" which occurs at the beginning of each
226 // document, that each snippet should start with that. 226 // document, that each snippet should start with that.
227 EXPECT_TRUE(StartsWithASCII(WideToUTF8(results[0].snippet.text()), 227 EXPECT_TRUE(StartsWithASCII(WideToUTF8(results[0].snippet.text()),
228 "COUNTTAG", false)); 228 "COUNTTAG", false));
229 EXPECT_TRUE(StartsWithASCII(WideToUTF8(results[1].snippet.text()), 229 EXPECT_TRUE(StartsWithASCII(WideToUTF8(results[1].snippet.text()),
230 "COUNTTAG", false)); 230 "COUNTTAG", false));
231 EXPECT_TRUE(StartsWithASCII(WideToUTF8(results[2].snippet.text()), 231 EXPECT_TRUE(StartsWithASCII(WideToUTF8(results[2].snippet.text()),
232 "COUNTTAG", false)); 232 "COUNTTAG", false));
(...skipping 13 matching lines...) Expand all
246 options.end_time = Time::FromInternalValue(kTime3); 246 options.end_time = Time::FromInternalValue(kTime3);
247 247
248 std::vector<TextDatabase::Match> results; 248 std::vector<TextDatabase::Match> results;
249 Time first_time_searched; 249 Time first_time_searched;
250 TextDatabase::URLSet unique_urls; 250 TextDatabase::URLSet unique_urls;
251 db->GetTextMatches("COUNTTAG", options, &results, &unique_urls, 251 db->GetTextMatches("COUNTTAG", options, &results, &unique_urls,
252 &first_time_searched); 252 &first_time_searched);
253 EXPECT_TRUE(unique_urls.empty()) << "Didn't ask for unique URLs"; 253 EXPECT_TRUE(unique_urls.empty()) << "Didn't ask for unique URLs";
254 254
255 // The first and second should have been returned. 255 // The first and second should have been returned.
256 EXPECT_EQ(2, results.size()); 256 EXPECT_EQ(2U, results.size());
257 EXPECT_TRUE(ResultsHaveURL(results, kURL1)); 257 EXPECT_TRUE(ResultsHaveURL(results, kURL1));
258 EXPECT_TRUE(ResultsHaveURL(results, kURL2)); 258 EXPECT_TRUE(ResultsHaveURL(results, kURL2));
259 EXPECT_FALSE(ResultsHaveURL(results, kURL3)); 259 EXPECT_FALSE(ResultsHaveURL(results, kURL3));
260 EXPECT_EQ(kTime1, first_time_searched.ToInternalValue()); 260 EXPECT_EQ(kTime1, first_time_searched.ToInternalValue());
261 261
262 // --------------------------------------------------------------------------- 262 // ---------------------------------------------------------------------------
263 // Do a query where there isn't a result on the begin boundary, so we can 263 // Do a query where there isn't a result on the begin boundary, so we can
264 // test that the first time searched is set to the minimum time considered 264 // test that the first time searched is set to the minimum time considered
265 // instead of the min value. 265 // instead of the min value.
266 options.begin_time = Time::FromInternalValue((kTime2 - kTime1) / 2 + kTime1); 266 options.begin_time = Time::FromInternalValue((kTime2 - kTime1) / 2 + kTime1);
267 options.end_time = Time::FromInternalValue(kTime3 + 1); 267 options.end_time = Time::FromInternalValue(kTime3 + 1);
268 results.clear(); // GetTextMatches does *not* clear the results. 268 results.clear(); // GetTextMatches does *not* clear the results.
269 db->GetTextMatches("COUNTTAG", options, &results, &unique_urls, 269 db->GetTextMatches("COUNTTAG", options, &results, &unique_urls,
270 &first_time_searched); 270 &first_time_searched);
271 EXPECT_TRUE(unique_urls.empty()) << "Didn't ask for unique URLs"; 271 EXPECT_TRUE(unique_urls.empty()) << "Didn't ask for unique URLs";
272 EXPECT_EQ(options.begin_time.ToInternalValue(), 272 EXPECT_EQ(options.begin_time.ToInternalValue(),
273 first_time_searched.ToInternalValue()); 273 first_time_searched.ToInternalValue());
274 274
275 // Should have two results, the second and third. 275 // Should have two results, the second and third.
276 EXPECT_EQ(2, results.size()); 276 EXPECT_EQ(2U, results.size());
277 EXPECT_FALSE(ResultsHaveURL(results, kURL1)); 277 EXPECT_FALSE(ResultsHaveURL(results, kURL1));
278 EXPECT_TRUE(ResultsHaveURL(results, kURL2)); 278 EXPECT_TRUE(ResultsHaveURL(results, kURL2));
279 EXPECT_TRUE(ResultsHaveURL(results, kURL3)); 279 EXPECT_TRUE(ResultsHaveURL(results, kURL3));
280 280
281 // No results should also set the first_time_searched. 281 // No results should also set the first_time_searched.
282 options.begin_time = Time::FromInternalValue(kTime3 + 1); 282 options.begin_time = Time::FromInternalValue(kTime3 + 1);
283 options.end_time = Time::FromInternalValue(kTime3 * 100); 283 options.end_time = Time::FromInternalValue(kTime3 * 100);
284 results.clear(); 284 results.clear();
285 db->GetTextMatches("COUNTTAG", options, &results, &unique_urls, 285 db->GetTextMatches("COUNTTAG", options, &results, &unique_urls,
286 &first_time_searched); 286 &first_time_searched);
(...skipping 17 matching lines...) Expand all
304 options.max_count = 1; 304 options.max_count = 1;
305 305
306 std::vector<TextDatabase::Match> results; 306 std::vector<TextDatabase::Match> results;
307 Time first_time_searched; 307 Time first_time_searched;
308 TextDatabase::URLSet unique_urls; 308 TextDatabase::URLSet unique_urls;
309 db->GetTextMatches("google", options, &results, &unique_urls, 309 db->GetTextMatches("google", options, &results, &unique_urls,
310 &first_time_searched); 310 &first_time_searched);
311 EXPECT_TRUE(unique_urls.empty()) << "Didn't ask for unique URLs"; 311 EXPECT_TRUE(unique_urls.empty()) << "Didn't ask for unique URLs";
312 312
313 // There should be one result, the most recent one. 313 // There should be one result, the most recent one.
314 EXPECT_EQ(1, results.size()); 314 EXPECT_EQ(1U, results.size());
315 EXPECT_TRUE(ResultsHaveURL(results, kURL2)); 315 EXPECT_TRUE(ResultsHaveURL(results, kURL2));
316 316
317 // The max time considered should be the date of the returned item. 317 // The max time considered should be the date of the returned item.
318 EXPECT_EQ(kTime2, first_time_searched.ToInternalValue()); 318 EXPECT_EQ(kTime2, first_time_searched.ToInternalValue());
319 } 319 }
320 320
321 } // namespace history 321 } // namespace history
OLDNEW
« no previous file with comments | « chrome/browser/history/text_database_manager.cc ('k') | chrome/browser/history/thumbnail_database.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698