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 <set> | 5 #include <set> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
409 | 409 |
410 // Now try without de-duping, expect to see all visible visits to url id 1. | 410 // Now try without de-duping, expect to see all visible visits to url id 1. |
411 options.duplicate_policy = QueryOptions::KEEP_ALL_DUPLICATES; | 411 options.duplicate_policy = QueryOptions::KEEP_ALL_DUPLICATES; |
412 GetVisibleVisitsForURL(url_id, options, &results); | 412 GetVisibleVisitsForURL(url_id, options, &results); |
413 ASSERT_EQ(static_cast<size_t>(3), results.size()); | 413 ASSERT_EQ(static_cast<size_t>(3), results.size()); |
414 EXPECT_TRUE(IsVisitInfoEqual(results[0], test_visit_rows[5])); | 414 EXPECT_TRUE(IsVisitInfoEqual(results[0], test_visit_rows[5])); |
415 EXPECT_TRUE(IsVisitInfoEqual(results[1], test_visit_rows[1])); | 415 EXPECT_TRUE(IsVisitInfoEqual(results[1], test_visit_rows[1])); |
416 EXPECT_TRUE(IsVisitInfoEqual(results[2], test_visit_rows[0])); | 416 EXPECT_TRUE(IsVisitInfoEqual(results[2], test_visit_rows[0])); |
417 } | 417 } |
418 | 418 |
419 TEST_F(VisitDatabaseTest, GetHistoryCount) { | |
420 Time today = Time::Now().LocalMidnight(); | |
421 Time tomorrow = today + TimeDelta::FromDays(1); | |
422 Time after_tomorrow = today + TimeDelta::FromDays(2); | |
423 Time now = today; | |
lwchkg
2015/09/25 04:06:35
The test will fail when the day is near DST switch
msramek
2015/09/25 10:44:35
Done. Thanks for reminding me, I forgot about DST
| |
424 | |
lwchkg
2015/09/25 04:06:35
Anyway, any plans to test time zone and DST handli
msramek
2015/09/25 10:44:35
I've added DST-specific tests at the end. This is
| |
425 ui::PageTransition standard_transition = ui::PageTransitionFromInt( | |
426 ui::PAGE_TRANSITION_TYPED | | |
427 ui::PAGE_TRANSITION_CHAIN_START | | |
428 ui::PAGE_TRANSITION_CHAIN_END); | |
429 | |
430 // Add 5 visits (3 distinct URLs) for today. Whether the URL was browsed | |
431 // on this machine or synced has no effect. | |
432 VisitRow today_1(1, now, 0, standard_transition, 0); | |
433 today_1.visit_id = 1; | |
434 AddVisit(&today_1, SOURCE_BROWSED); | |
435 now += TimeDelta::FromHours(1); | |
436 | |
437 VisitRow today_2(2, now, 0, standard_transition, 0); | |
438 today_2.visit_id = 2; | |
439 AddVisit(&today_2, SOURCE_BROWSED); | |
440 now += TimeDelta::FromHours(1); | |
441 | |
442 VisitRow today_3(1, now, 0, standard_transition, 0); | |
443 today_3.visit_id = 3; | |
444 AddVisit(&today_3, SOURCE_SYNCED); | |
445 now += TimeDelta::FromHours(1); | |
446 | |
447 VisitRow today_4(3, now, 0, standard_transition, 0); | |
448 today_4.visit_id = 4; | |
449 AddVisit(&today_4, SOURCE_SYNCED); | |
450 now += TimeDelta::FromHours(1); | |
451 | |
452 VisitRow today_5(2, now, 0, standard_transition, 0); | |
453 today_5.visit_id = 5; | |
454 AddVisit(&today_5, SOURCE_BROWSED); | |
455 now += TimeDelta::FromHours(1); | |
456 | |
457 // Add 4 more visits for tomorrow. One of them is invalid, as it's not | |
458 // a user-visible navigation. Of the remaining 3, only 2 are unique. | |
459 now = tomorrow; | |
460 | |
461 VisitRow tomorrow_1(1, now, 0, standard_transition, 0); | |
462 tomorrow_1.visit_id = 6; | |
463 AddVisit(&tomorrow_1, SOURCE_BROWSED); | |
464 now += TimeDelta::FromHours(1); | |
465 | |
466 VisitRow tomorrow_2(1, now, 0, standard_transition, 0); | |
467 tomorrow_2.visit_id = 7; | |
468 AddVisit(&tomorrow_2, SOURCE_BROWSED); | |
469 now += TimeDelta::FromHours(1); | |
470 | |
471 VisitRow tomorrow_3(2, now, 0, ui::PAGE_TRANSITION_AUTO_SUBFRAME, 0); | |
472 tomorrow_3.visit_id = 8; | |
473 AddVisit(&tomorrow_3, SOURCE_BROWSED); | |
474 now += TimeDelta::FromHours(1); | |
475 | |
476 VisitRow tomorrow_4(3, now, 0, standard_transition, 0); | |
477 tomorrow_4.visit_id = 9; | |
478 AddVisit(&tomorrow_4, SOURCE_BROWSED); | |
479 now += TimeDelta::FromHours(1); | |
480 | |
481 int result; | |
482 | |
483 // There are 3 distinct URLs today. | |
484 EXPECT_TRUE(GetHistoryCount(today, tomorrow, &result)); | |
485 EXPECT_EQ(3, result); | |
486 | |
487 // For today and tomorrow, there should be 5 per-day unique URLs. | |
488 EXPECT_TRUE(GetHistoryCount(today, after_tomorrow, &result)); | |
489 EXPECT_EQ(5, result); | |
490 | |
491 // Since we only have entries for today and tomorrow, the infinite time | |
492 // range should yield the same result. | |
493 EXPECT_TRUE(GetHistoryCount(Time(), Time::Max(), &result)); | |
494 EXPECT_EQ(5, result); | |
495 | |
496 // Narrowing the range to exclude |today_1| will still return 5, | |
497 // because |today_1| is not unique. | |
498 EXPECT_TRUE(GetHistoryCount( | |
499 today + TimeDelta::FromHours(2), after_tomorrow, &result)); | |
500 EXPECT_EQ(5, result); | |
501 | |
502 // Narrowing the range to exclude |tomorrow_4| will return 4, | |
503 // because |tomorrow_4| is unique. | |
504 EXPECT_TRUE(GetHistoryCount( | |
505 today, tomorrow + TimeDelta::FromHours(3), &result)); | |
506 EXPECT_EQ(4, result); | |
507 | |
508 // Narrowing the range to exclude both |today_1| and |tomorrow_4| will | |
509 // still return 4. | |
510 EXPECT_TRUE(GetHistoryCount(today + TimeDelta::FromHours(2), | |
511 tomorrow + TimeDelta::FromHours(3), | |
512 &result)); | |
513 EXPECT_EQ(4, result); | |
514 | |
515 // A range that contains no visits will return 0. | |
516 EXPECT_TRUE(GetHistoryCount(today + TimeDelta::FromMicroseconds(1), | |
517 today + TimeDelta::FromHours(1), | |
518 &result)); | |
519 EXPECT_EQ(0, result); | |
520 } | |
521 | |
419 } // namespace history | 522 } // namespace history |
OLD | NEW |