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/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 namespace history { | 22 namespace history { |
23 | 23 |
24 namespace { | 24 namespace { |
25 | 25 |
26 bool IsVisitInfoEqual(const VisitRow& a, | 26 bool IsVisitInfoEqual(const VisitRow& a, |
27 const VisitRow& b) { | 27 const VisitRow& b) { |
28 return a.visit_id == b.visit_id && | 28 return a.visit_id == b.visit_id && |
29 a.url_id == b.url_id && | 29 a.url_id == b.url_id && |
30 a.visit_time == b.visit_time && | 30 a.visit_time == b.visit_time && |
31 a.referring_visit == b.referring_visit && | 31 a.referring_visit == b.referring_visit && |
32 a.transition == b.transition; | 32 a.transition == b.transition && |
| 33 a.is_indexed == b.is_indexed; |
33 } | 34 } |
34 | 35 |
35 } // namespace | 36 } // namespace |
36 | 37 |
37 class VisitDatabaseTest : public PlatformTest, | 38 class VisitDatabaseTest : public PlatformTest, |
38 public URLDatabase, | 39 public URLDatabase, |
39 public VisitDatabase { | 40 public VisitDatabase { |
40 public: | 41 public: |
41 VisitDatabaseTest() { | 42 VisitDatabaseTest() { |
42 } | 43 } |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 // Make something in the database. | 141 // Make something in the database. |
141 VisitRow original(1, Time::Now(), 23, content::PageTransitionFromInt(0), 19); | 142 VisitRow original(1, Time::Now(), 23, content::PageTransitionFromInt(0), 19); |
142 AddVisit(&original, SOURCE_BROWSED); | 143 AddVisit(&original, SOURCE_BROWSED); |
143 | 144 |
144 // Mutate that row. | 145 // Mutate that row. |
145 VisitRow modification(original); | 146 VisitRow modification(original); |
146 modification.url_id = 2; | 147 modification.url_id = 2; |
147 modification.transition = content::PAGE_TRANSITION_TYPED; | 148 modification.transition = content::PAGE_TRANSITION_TYPED; |
148 modification.visit_time = Time::Now() + TimeDelta::FromDays(1); | 149 modification.visit_time = Time::Now() + TimeDelta::FromDays(1); |
149 modification.referring_visit = 9292; | 150 modification.referring_visit = 9292; |
| 151 modification.is_indexed = true; |
150 UpdateVisitRow(modification); | 152 UpdateVisitRow(modification); |
151 | 153 |
152 // Check that the mutated version was written. | 154 // Check that the mutated version was written. |
153 VisitRow final; | 155 VisitRow final; |
154 GetRowForVisit(original.visit_id, &final); | 156 GetRowForVisit(original.visit_id, &final); |
155 EXPECT_TRUE(IsVisitInfoEqual(modification, final)); | 157 EXPECT_TRUE(IsVisitInfoEqual(modification, final)); |
156 } | 158 } |
157 | 159 |
158 // TODO(brettw) write test for GetMostRecentVisitForURL! | 160 // TODO(brettw) write test for GetMostRecentVisitForURL! |
159 | 161 |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
378 ASSERT_EQ(1U, sources.size()); | 380 ASSERT_EQ(1U, sources.size()); |
379 EXPECT_EQ(SOURCE_SYNCED, sources[matches[0].visit_id]); | 381 EXPECT_EQ(SOURCE_SYNCED, sources[matches[0].visit_id]); |
380 | 382 |
381 ASSERT_TRUE(GetVisitsForURL(113, &matches)); | 383 ASSERT_TRUE(GetVisitsForURL(113, &matches)); |
382 ASSERT_EQ(1U, matches.size()); | 384 ASSERT_EQ(1U, matches.size()); |
383 GetVisitsSource(matches, &sources); | 385 GetVisitsSource(matches, &sources); |
384 ASSERT_EQ(1U, sources.size()); | 386 ASSERT_EQ(1U, sources.size()); |
385 EXPECT_EQ(SOURCE_EXTENSION, sources[matches[0].visit_id]); | 387 EXPECT_EQ(SOURCE_EXTENSION, sources[matches[0].visit_id]); |
386 } | 388 } |
387 | 389 |
| 390 TEST_F(VisitDatabaseTest, GetIndexedVisits) { |
| 391 // Add non-indexed visits. |
| 392 int url_id = 111; |
| 393 VisitRow visit_info1( |
| 394 url_id, Time::Now(), 0, content::PAGE_TRANSITION_LINK, 0); |
| 395 ASSERT_TRUE(AddVisit(&visit_info1, SOURCE_BROWSED)); |
| 396 |
| 397 VisitRow visit_info2( |
| 398 url_id, Time::Now(), 0, content::PAGE_TRANSITION_TYPED, 0); |
| 399 ASSERT_TRUE(AddVisit(&visit_info2, SOURCE_SYNCED)); |
| 400 |
| 401 std::vector<VisitRow> visits; |
| 402 EXPECT_TRUE(GetVisitsForURL(url_id, &visits)); |
| 403 EXPECT_EQ(static_cast<size_t>(2), visits.size()); |
| 404 EXPECT_TRUE(GetIndexedVisitsForURL(url_id, &visits)); |
| 405 EXPECT_EQ(static_cast<size_t>(0), visits.size()); |
| 406 |
| 407 VisitRow visit_info3( |
| 408 url_id, Time::Now(), 2, content::PAGE_TRANSITION_TYPED, 0); |
| 409 visit_info3.is_indexed = true; |
| 410 ASSERT_TRUE(AddVisit(&visit_info3, SOURCE_SYNCED)); |
| 411 EXPECT_TRUE(GetVisitsForURL(url_id, &visits)); |
| 412 EXPECT_EQ(static_cast<size_t>(3), visits.size()); |
| 413 EXPECT_TRUE(GetIndexedVisitsForURL(url_id, &visits)); |
| 414 EXPECT_EQ(static_cast<size_t>(1), visits.size()); |
| 415 } |
| 416 |
388 } // namespace history | 417 } // namespace history |
OLD | NEW |