| 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 "chrome/browser/history/history_backend.h" | 5 #include "chrome/browser/history/history_backend.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 937 backend_->AddPagesWithDetails(rows, history::SOURCE_BROWSED); | 937 backend_->AddPagesWithDetails(rows, history::SOURCE_BROWSED); |
| 938 | 938 |
| 939 // Verify that recent URLs have ended up in the main |db_|, while the already | 939 // Verify that recent URLs have ended up in the main |db_|, while the already |
| 940 // expired URL has been ignored. | 940 // expired URL has been ignored. |
| 941 URLRow stored_row1, stored_row2, stored_row3, stored_row4; | 941 URLRow stored_row1, stored_row2, stored_row3, stored_row4; |
| 942 EXPECT_NE(0, backend_->db_->GetRowForURL(row1.url(), &stored_row1)); | 942 EXPECT_NE(0, backend_->db_->GetRowForURL(row1.url(), &stored_row1)); |
| 943 EXPECT_NE(0, backend_->db_->GetRowForURL(row2.url(), &stored_row2)); | 943 EXPECT_NE(0, backend_->db_->GetRowForURL(row2.url(), &stored_row2)); |
| 944 EXPECT_NE(0, backend_->db_->GetRowForURL(row3.url(), &stored_row3)); | 944 EXPECT_NE(0, backend_->db_->GetRowForURL(row3.url(), &stored_row3)); |
| 945 EXPECT_EQ(0, backend_->db_->GetRowForURL(row4.url(), &stored_row4)); | 945 EXPECT_EQ(0, backend_->db_->GetRowForURL(row4.url(), &stored_row4)); |
| 946 | 946 |
| 947 // Ensure that a notification was fired, and further verify that the IDs in | 947 // Ensure that a notification was fired for both typed and non-typed URLs. |
| 948 // the notification are set to those that are in effect in the main database. | 948 // Further verify that the IDs in the notification are set to those that are |
| 949 // The InMemoryHistoryBackend relies on this for caching. | 949 // in effect in the main database. The InMemoryHistoryBackend relies on this |
| 950 // for caching. |
| 950 ASSERT_EQ(1u, broadcasted_notifications().size()); | 951 ASSERT_EQ(1u, broadcasted_notifications().size()); |
| 951 ASSERT_EQ(chrome::NOTIFICATION_HISTORY_URLS_MODIFIED, | 952 ASSERT_EQ(chrome::NOTIFICATION_HISTORY_URLS_MODIFIED, |
| 952 broadcasted_notifications()[0].first); | 953 broadcasted_notifications()[0].first); |
| 953 const URLsModifiedDetails* details = static_cast<const URLsModifiedDetails*>( | 954 const URLsModifiedDetails* details = static_cast<const URLsModifiedDetails*>( |
| 954 broadcasted_notifications()[0].second); | 955 broadcasted_notifications()[0].second); |
| 955 EXPECT_EQ(2u, details->changed_urls.size()); | 956 EXPECT_EQ(3u, details->changed_urls.size()); |
| 957 |
| 958 URLRows::const_iterator it_row1 = std::find_if( |
| 959 details->changed_urls.begin(), |
| 960 details->changed_urls.end(), |
| 961 history::URLRow::URLRowHasURL(row1.url())); |
| 962 ASSERT_NE(details->changed_urls.end(), it_row1); |
| 963 EXPECT_EQ(stored_row1.id(), it_row1->id()); |
| 956 | 964 |
| 957 URLRows::const_iterator it_row2 = std::find_if( | 965 URLRows::const_iterator it_row2 = std::find_if( |
| 958 details->changed_urls.begin(), | 966 details->changed_urls.begin(), |
| 959 details->changed_urls.end(), | 967 details->changed_urls.end(), |
| 960 history::URLRow::URLRowHasURL(row2.url())); | 968 history::URLRow::URLRowHasURL(row2.url())); |
| 961 ASSERT_NE(details->changed_urls.end(), it_row2); | 969 ASSERT_NE(details->changed_urls.end(), it_row2); |
| 962 EXPECT_EQ(stored_row2.id(), it_row2->id()); | 970 EXPECT_EQ(stored_row2.id(), it_row2->id()); |
| 963 | 971 |
| 964 URLRows::const_iterator it_row3 = std::find_if( | 972 URLRows::const_iterator it_row3 = std::find_if( |
| 965 details->changed_urls.begin(), | 973 details->changed_urls.begin(), |
| 966 details->changed_urls.end(), | 974 details->changed_urls.end(), |
| 967 history::URLRow::URLRowHasURL(row3.url())); | 975 history::URLRow::URLRowHasURL(row3.url())); |
| 968 ASSERT_NE(details->changed_urls.end(), it_row3); | 976 ASSERT_NE(details->changed_urls.end(), it_row3); |
| 969 EXPECT_EQ(stored_row3.id(), it_row3->id()); | 977 EXPECT_EQ(stored_row3.id(), it_row3->id()); |
| 970 } | 978 } |
| (...skipping 2380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3351 // Verify that the second term is no longer returned as result, and also check | 3359 // Verify that the second term is no longer returned as result, and also check |
| 3352 // at the low level that it is gone for good. The term corresponding to the | 3360 // at the low level that it is gone for good. The term corresponding to the |
| 3353 // first URLRow should not be affected. | 3361 // first URLRow should not be affected. |
| 3354 EXPECT_EQ(1u, GetNumberOfMatchingSearchTerms(kTestKeywordId, term1)); | 3362 EXPECT_EQ(1u, GetNumberOfMatchingSearchTerms(kTestKeywordId, term1)); |
| 3355 EXPECT_EQ(0u, GetNumberOfMatchingSearchTerms(kTestKeywordId, term2)); | 3363 EXPECT_EQ(0u, GetNumberOfMatchingSearchTerms(kTestKeywordId, term2)); |
| 3356 EXPECT_TRUE(mem_backend_->db()->GetKeywordSearchTermRow(row1.id(), NULL)); | 3364 EXPECT_TRUE(mem_backend_->db()->GetKeywordSearchTermRow(row1.id(), NULL)); |
| 3357 EXPECT_FALSE(mem_backend_->db()->GetKeywordSearchTermRow(row2.id(), NULL)); | 3365 EXPECT_FALSE(mem_backend_->db()->GetKeywordSearchTermRow(row2.id(), NULL)); |
| 3358 } | 3366 } |
| 3359 | 3367 |
| 3360 } // namespace history | 3368 } // namespace history |
| OLD | NEW |