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; | |
34 } | 33 } |
35 | 34 |
36 } // namespace | 35 } // namespace |
37 | 36 |
38 class VisitDatabaseTest : public PlatformTest, | 37 class VisitDatabaseTest : public PlatformTest, |
39 public URLDatabase, | 38 public URLDatabase, |
40 public VisitDatabase { | 39 public VisitDatabase { |
41 public: | 40 public: |
42 VisitDatabaseTest() { | 41 VisitDatabaseTest() { |
43 } | 42 } |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 // Make something in the database. | 140 // Make something in the database. |
142 VisitRow original(1, Time::Now(), 23, content::PageTransitionFromInt(0), 19); | 141 VisitRow original(1, Time::Now(), 23, content::PageTransitionFromInt(0), 19); |
143 AddVisit(&original, SOURCE_BROWSED); | 142 AddVisit(&original, SOURCE_BROWSED); |
144 | 143 |
145 // Mutate that row. | 144 // Mutate that row. |
146 VisitRow modification(original); | 145 VisitRow modification(original); |
147 modification.url_id = 2; | 146 modification.url_id = 2; |
148 modification.transition = content::PAGE_TRANSITION_TYPED; | 147 modification.transition = content::PAGE_TRANSITION_TYPED; |
149 modification.visit_time = Time::Now() + TimeDelta::FromDays(1); | 148 modification.visit_time = Time::Now() + TimeDelta::FromDays(1); |
150 modification.referring_visit = 9292; | 149 modification.referring_visit = 9292; |
151 modification.is_indexed = true; | |
152 UpdateVisitRow(modification); | 150 UpdateVisitRow(modification); |
153 | 151 |
154 // Check that the mutated version was written. | 152 // Check that the mutated version was written. |
155 VisitRow final; | 153 VisitRow final; |
156 GetRowForVisit(original.visit_id, &final); | 154 GetRowForVisit(original.visit_id, &final); |
157 EXPECT_TRUE(IsVisitInfoEqual(modification, final)); | 155 EXPECT_TRUE(IsVisitInfoEqual(modification, final)); |
158 } | 156 } |
159 | 157 |
160 // TODO(brettw) write test for GetMostRecentVisitForURL! | 158 // TODO(brettw) write test for GetMostRecentVisitForURL! |
161 | 159 |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 ASSERT_EQ(1U, sources.size()); | 378 ASSERT_EQ(1U, sources.size()); |
381 EXPECT_EQ(SOURCE_SYNCED, sources[matches[0].visit_id]); | 379 EXPECT_EQ(SOURCE_SYNCED, sources[matches[0].visit_id]); |
382 | 380 |
383 ASSERT_TRUE(GetVisitsForURL(113, &matches)); | 381 ASSERT_TRUE(GetVisitsForURL(113, &matches)); |
384 ASSERT_EQ(1U, matches.size()); | 382 ASSERT_EQ(1U, matches.size()); |
385 GetVisitsSource(matches, &sources); | 383 GetVisitsSource(matches, &sources); |
386 ASSERT_EQ(1U, sources.size()); | 384 ASSERT_EQ(1U, sources.size()); |
387 EXPECT_EQ(SOURCE_EXTENSION, sources[matches[0].visit_id]); | 385 EXPECT_EQ(SOURCE_EXTENSION, sources[matches[0].visit_id]); |
388 } | 386 } |
389 | 387 |
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 | |
417 } // namespace history | 388 } // namespace history |
OLD | NEW |