| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/file_util.h" | 5 #include "base/file_util.h" |
| 6 #include "base/message_loop.h" | 6 #include "base/message_loop.h" |
| 7 #include "base/path_service.h" | 7 #include "base/path_service.h" |
| 8 #include "chrome/browser/autocomplete/history_url_provider.h" | 8 #include "chrome/browser/autocomplete/history_url_provider.h" |
| 9 #include "chrome/browser/bookmarks/bookmark_bar_model.h" | 9 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 10 #include "chrome/browser/history/history.h" | 10 #include "chrome/browser/history/history.h" |
| 11 #include "chrome/test/testing_profile.h" | 11 #include "chrome/test/testing_profile.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 13 | 13 |
| 14 struct TestURLInfo { | 14 struct TestURLInfo { |
| 15 std::wstring url; | 15 std::wstring url; |
| 16 std::wstring title; | 16 std::wstring title; |
| 17 int visit_count; | 17 int visit_count; |
| 18 int typed_count; | 18 int typed_count; |
| 19 bool starred; | 19 bool starred; |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 scoped_refptr<HistoryURLProvider> autocomplete_; | 107 scoped_refptr<HistoryURLProvider> autocomplete_; |
| 108 }; | 108 }; |
| 109 | 109 |
| 110 void HistoryURLProviderTest::OnProviderUpdate(bool updated_matches) { | 110 void HistoryURLProviderTest::OnProviderUpdate(bool updated_matches) { |
| 111 if (autocomplete_->done()) | 111 if (autocomplete_->done()) |
| 112 MessageLoop::current()->Quit(); | 112 MessageLoop::current()->Quit(); |
| 113 } | 113 } |
| 114 | 114 |
| 115 void HistoryURLProviderTest::SetUp() { | 115 void HistoryURLProviderTest::SetUp() { |
| 116 profile_.reset(new TestingProfile()); | 116 profile_.reset(new TestingProfile()); |
| 117 profile_->CreateBookmarkBarModel(true); | 117 profile_->CreateBookmarkModel(true); |
| 118 profile_->CreateHistoryService(true); | 118 profile_->CreateHistoryService(true); |
| 119 history_service_ = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); | 119 history_service_ = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| 120 | 120 |
| 121 autocomplete_ = new HistoryURLProvider(this, profile_.get()); | 121 autocomplete_ = new HistoryURLProvider(this, profile_.get()); |
| 122 | 122 |
| 123 FillData(); | 123 FillData(); |
| 124 } | 124 } |
| 125 | 125 |
| 126 void HistoryURLProviderTest::TearDown() { | 126 void HistoryURLProviderTest::TearDown() { |
| 127 autocomplete_ = NULL; | 127 autocomplete_ = NULL; |
| 128 } | 128 } |
| 129 | 129 |
| 130 void HistoryURLProviderTest::FillData() { | 130 void HistoryURLProviderTest::FillData() { |
| 131 // All visits are a long time ago (some tests require this since we do some | 131 // All visits are a long time ago (some tests require this since we do some |
| 132 // special logic for things visited very recently). Note that this time must | 132 // special logic for things visited very recently). Note that this time must |
| 133 // be more recent than the "archived history" threshold for the data to go | 133 // be more recent than the "archived history" threshold for the data to go |
| 134 // into the main database. | 134 // into the main database. |
| 135 // | 135 // |
| 136 // TODO(brettw) It would be nice if we could test this behavior, in which | 136 // TODO(brettw) It would be nice if we could test this behavior, in which |
| 137 // case the time would be specifed in the test_db structure. | 137 // case the time would be specifed in the test_db structure. |
| 138 Time visit_time = Time::Now() - TimeDelta::FromDays(80); | 138 Time visit_time = Time::Now() - TimeDelta::FromDays(80); |
| 139 | 139 |
| 140 for (int i = 0; i < arraysize(test_db); ++i) { | 140 for (int i = 0; i < arraysize(test_db); ++i) { |
| 141 const TestURLInfo& cur = test_db[i]; | 141 const TestURLInfo& cur = test_db[i]; |
| 142 const GURL current_url(cur.url); | 142 const GURL current_url(cur.url); |
| 143 history_service_->AddPageWithDetails(current_url, cur.title, | 143 history_service_->AddPageWithDetails(current_url, cur.title, |
| 144 cur.visit_count, cur.typed_count, | 144 cur.visit_count, cur.typed_count, |
| 145 visit_time, false); | 145 visit_time, false); |
| 146 if (cur.starred) { | 146 if (cur.starred) { |
| 147 profile_->GetBookmarkBarModel()->SetURLStarred( | 147 profile_->GetBookmarkModel()->SetURLStarred( |
| 148 current_url, std::wstring(), true); | 148 current_url, std::wstring(), true); |
| 149 } | 149 } |
| 150 } | 150 } |
| 151 } | 151 } |
| 152 | 152 |
| 153 void HistoryURLProviderTest::RunTest(const std::wstring text, | 153 void HistoryURLProviderTest::RunTest(const std::wstring text, |
| 154 const std::wstring& desired_tld, | 154 const std::wstring& desired_tld, |
| 155 bool prevent_inline_autocomplete, | 155 bool prevent_inline_autocomplete, |
| 156 const std::wstring* expected_urls, | 156 const std::wstring* expected_urls, |
| 157 int num_results) { | 157 int num_results) { |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 L"http://bogussite.com/c", | 336 L"http://bogussite.com/c", |
| 337 }; | 337 }; |
| 338 RunTest(input_2, std::wstring(), false, fixup_2, arraysize(fixup_2)); | 338 RunTest(input_2, std::wstring(), false, fixup_2, arraysize(fixup_2)); |
| 339 EXPECT_EQ(input_2.length(), matches_[0].inline_autocomplete_offset); | 339 EXPECT_EQ(input_2.length(), matches_[0].inline_autocomplete_offset); |
| 340 | 340 |
| 341 // Adding a TLD to a small number like "56" should result in "www.56.com" | 341 // Adding a TLD to a small number like "56" should result in "www.56.com" |
| 342 // rather than "0.0.0.56.com". | 342 // rather than "0.0.0.56.com". |
| 343 std::wstring fixup_3[] = {L"http://www.56.com/"}; | 343 std::wstring fixup_3[] = {L"http://www.56.com/"}; |
| 344 RunTest(L"56", L"com", true, fixup_3, arraysize(fixup_3)); | 344 RunTest(L"56", L"com", true, fixup_3, arraysize(fixup_3)); |
| 345 } | 345 } |
| OLD | NEW |