OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/file_path.h" | 6 #include "base/file_path.h" |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "chrome/browser/history/history.h" | 9 #include "chrome/browser/history/history.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
11 | 11 |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 | 142 |
143 DISALLOW_EVIL_CONSTRUCTORS(HistoryQueryTest); | 143 DISALLOW_EVIL_CONSTRUCTORS(HistoryQueryTest); |
144 }; | 144 }; |
145 | 145 |
146 TEST_F(HistoryQueryTest, Basic) { | 146 TEST_F(HistoryQueryTest, Basic) { |
147 ASSERT_TRUE(history_.get()); | 147 ASSERT_TRUE(history_.get()); |
148 | 148 |
149 QueryOptions options; | 149 QueryOptions options; |
150 QueryResults results; | 150 QueryResults results; |
151 | 151 |
152 // First query for all of them to make sure they are there and in | 152 // Test duplicate collapsing. |
153 // chronological order, most recent first. | |
154 QueryHistory(std::wstring(), options, &results); | 153 QueryHistory(std::wstring(), options, &results); |
155 ASSERT_EQ(5U, results.size()); | 154 EXPECT_EQ(4U, results.size()); |
156 EXPECT_TRUE(NthResultIs(results, 0, 4)); | 155 EXPECT_TRUE(NthResultIs(results, 0, 4)); |
157 EXPECT_TRUE(NthResultIs(results, 1, 2)); | 156 EXPECT_TRUE(NthResultIs(results, 1, 2)); |
158 EXPECT_TRUE(NthResultIs(results, 2, 3)); | 157 EXPECT_TRUE(NthResultIs(results, 2, 3)); |
159 EXPECT_TRUE(NthResultIs(results, 3, 1)); | 158 EXPECT_TRUE(NthResultIs(results, 3, 1)); |
160 EXPECT_TRUE(NthResultIs(results, 4, 0)); | |
161 | 159 |
162 // Next query a time range. The beginning should be inclusive, the ending | 160 // Next query a time range. The beginning should be inclusive, the ending |
163 // should be exclusive. | 161 // should be exclusive. |
164 options.begin_time = test_entries[3].time; | 162 options.begin_time = test_entries[3].time; |
165 options.end_time = test_entries[2].time; | 163 options.end_time = test_entries[2].time; |
166 QueryHistory(std::wstring(), options, &results); | 164 QueryHistory(std::wstring(), options, &results); |
167 EXPECT_EQ(1U, results.size()); | 165 EXPECT_EQ(1U, results.size()); |
168 EXPECT_TRUE(NthResultIs(results, 0, 3)); | 166 EXPECT_TRUE(NthResultIs(results, 0, 3)); |
169 } | 167 } |
170 | 168 |
171 // Tests max_count feature for basic (non-Full Text Search) queries. | 169 // Tests max_count feature for basic (non-Full Text Search) queries. |
172 TEST_F(HistoryQueryTest, BasicCount) { | 170 TEST_F(HistoryQueryTest, BasicCount) { |
173 ASSERT_TRUE(history_.get()); | 171 ASSERT_TRUE(history_.get()); |
174 | 172 |
175 QueryOptions options; | 173 QueryOptions options; |
176 QueryResults results; | 174 QueryResults results; |
177 | 175 |
178 // Query all time but with a limit on the number of entries. We should | 176 // Query all time but with a limit on the number of entries. We should |
179 // get the N most recent entries. | 177 // get the N most recent entries. |
180 options.max_count = 2; | 178 options.max_count = 2; |
181 QueryHistory(std::wstring(), options, &results); | 179 QueryHistory(std::wstring(), options, &results); |
182 EXPECT_EQ(2U, results.size()); | 180 EXPECT_EQ(2U, results.size()); |
183 EXPECT_TRUE(NthResultIs(results, 0, 4)); | 181 EXPECT_TRUE(NthResultIs(results, 0, 4)); |
184 EXPECT_TRUE(NthResultIs(results, 1, 2)); | 182 EXPECT_TRUE(NthResultIs(results, 1, 2)); |
185 } | 183 } |
186 | 184 |
187 // Tests duplicate collapsing and not in non-Full Text Search situations. | |
188 TEST_F(HistoryQueryTest, BasicDupes) { | |
189 ASSERT_TRUE(history_.get()); | |
190 | |
191 QueryOptions options; | |
192 QueryResults results; | |
193 | |
194 // We did the query for no collapsing in the "Basic" test above, so here we | |
195 // only test collapsing. | |
196 options.most_recent_visit_only = true; | |
197 QueryHistory(std::wstring(), options, &results); | |
198 EXPECT_EQ(4U, results.size()); | |
199 EXPECT_TRUE(NthResultIs(results, 0, 4)); | |
200 EXPECT_TRUE(NthResultIs(results, 1, 2)); | |
201 EXPECT_TRUE(NthResultIs(results, 2, 3)); | |
202 EXPECT_TRUE(NthResultIs(results, 3, 1)); | |
203 } | |
204 | |
205 TEST_F(HistoryQueryTest, ReachedBeginning) { | 185 TEST_F(HistoryQueryTest, ReachedBeginning) { |
206 ASSERT_TRUE(history_.get()); | 186 ASSERT_TRUE(history_.get()); |
207 | 187 |
208 QueryOptions options; | 188 QueryOptions options; |
209 QueryResults results; | 189 QueryResults results; |
210 | 190 |
211 QueryHistory(std::wstring(), options, &results); | 191 QueryHistory(std::wstring(), options, &results); |
212 EXPECT_TRUE(results.reached_beginning()); | 192 EXPECT_TRUE(results.reached_beginning()); |
213 | 193 |
214 options.begin_time = test_entries[1].time; | 194 options.begin_time = test_entries[1].time; |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 won't get picked up by the deletor and it can happen again. When this is the | 332 won't get picked up by the deletor and it can happen again. When this is the |
353 case, we should fix this test to duplicate that situation. | 333 case, we should fix this test to duplicate that situation. |
354 | 334 |
355 // Tests duplicate collapsing and not in Full Text Search situations. | 335 // Tests duplicate collapsing and not in Full Text Search situations. |
356 TEST_F(HistoryQueryTest, FTSDupes) { | 336 TEST_F(HistoryQueryTest, FTSDupes) { |
357 ASSERT_TRUE(history_.get()); | 337 ASSERT_TRUE(history_.get()); |
358 | 338 |
359 QueryOptions options; | 339 QueryOptions options; |
360 QueryResults results; | 340 QueryResults results; |
361 | 341 |
362 // First do the search with collapsing. | |
363 QueryHistory(std::wstring(L"Other"), options, &results); | |
364 EXPECT_EQ(2, results.urls().size()); | |
365 EXPECT_TRUE(NthResultIs(results, 0, 4)); | |
366 EXPECT_TRUE(NthResultIs(results, 1, 0)); | |
367 | |
368 // Now with collapsing. | |
369 options.most_recent_visit_only = true; | |
370 QueryHistory(std::wstring(L"Other"), options, &results); | 342 QueryHistory(std::wstring(L"Other"), options, &results); |
371 EXPECT_EQ(1, results.urls().size()); | 343 EXPECT_EQ(1, results.urls().size()); |
372 EXPECT_TRUE(NthResultIs(results, 0, 4)); | 344 EXPECT_TRUE(NthResultIs(results, 0, 4)); |
373 } | 345 } |
374 */ | 346 */ |
375 | 347 |
376 } // namespace history | 348 } // namespace history |
OLD | NEW |