| 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/autocomplete/autocomplete_result.h" | 5 #include "chrome/browser/autocomplete/autocomplete_result.h" |
| 6 | 6 |
| 7 #include "base/string_number_conversions.h" | 7 #include "base/string_number_conversions.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "chrome/browser/autocomplete/autocomplete_input.h" | 10 #include "chrome/browser/autocomplete/autocomplete_input.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 EXPECT_EQ(expected_match.relevance, match.relevance) << i; | 108 EXPECT_EQ(expected_match.relevance, match.relevance) << i; |
| 109 EXPECT_EQ(expected_match.destination_url.spec(), | 109 EXPECT_EQ(expected_match.destination_url.spec(), |
| 110 match.destination_url.spec()) << i; | 110 match.destination_url.spec()) << i; |
| 111 } | 111 } |
| 112 } | 112 } |
| 113 | 113 |
| 114 void AutocompleteResultTest::RunCopyOldMatchesTest( | 114 void AutocompleteResultTest::RunCopyOldMatchesTest( |
| 115 const TestData* last, size_t last_size, | 115 const TestData* last, size_t last_size, |
| 116 const TestData* current, size_t current_size, | 116 const TestData* current, size_t current_size, |
| 117 const TestData* expected, size_t expected_size) { | 117 const TestData* expected, size_t expected_size) { |
| 118 AutocompleteInput input(ASCIIToUTF16("a"), string16(), false, false, false, | 118 AutocompleteInput input(ASCIIToUTF16("a"), string16::npos, string16(), false, |
| 119 AutocompleteInput::ALL_MATCHES); | 119 false, false, AutocompleteInput::ALL_MATCHES); |
| 120 | 120 |
| 121 ACMatches last_matches; | 121 ACMatches last_matches; |
| 122 PopulateAutocompleteMatches(last, last_size, &last_matches); | 122 PopulateAutocompleteMatches(last, last_size, &last_matches); |
| 123 AutocompleteResult last_result; | 123 AutocompleteResult last_result; |
| 124 last_result.AppendMatches(last_matches); | 124 last_result.AppendMatches(last_matches); |
| 125 last_result.SortAndCull(input, test_util_.profile()); | 125 last_result.SortAndCull(input, test_util_.profile()); |
| 126 | 126 |
| 127 ACMatches current_matches; | 127 ACMatches current_matches; |
| 128 PopulateAutocompleteMatches(current, current_size, ¤t_matches); | 128 PopulateAutocompleteMatches(current, current_size, ¤t_matches); |
| 129 AutocompleteResult current_result; | 129 AutocompleteResult current_result; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 140 AutocompleteResult r2; | 140 AutocompleteResult r2; |
| 141 | 141 |
| 142 // Swap with empty shouldn't do anything interesting. | 142 // Swap with empty shouldn't do anything interesting. |
| 143 r1.Swap(&r2); | 143 r1.Swap(&r2); |
| 144 EXPECT_EQ(r1.end(), r1.default_match()); | 144 EXPECT_EQ(r1.end(), r1.default_match()); |
| 145 EXPECT_EQ(r2.end(), r2.default_match()); | 145 EXPECT_EQ(r2.end(), r2.default_match()); |
| 146 | 146 |
| 147 // Swap with a single match. | 147 // Swap with a single match. |
| 148 ACMatches matches; | 148 ACMatches matches; |
| 149 AutocompleteMatch match; | 149 AutocompleteMatch match; |
| 150 AutocompleteInput input(ASCIIToUTF16("a"), string16(), false, false, false, | 150 AutocompleteInput input(ASCIIToUTF16("a"), string16::npos, string16(), false, |
| 151 AutocompleteInput::ALL_MATCHES); | 151 false, false, AutocompleteInput::ALL_MATCHES); |
| 152 matches.push_back(match); | 152 matches.push_back(match); |
| 153 r1.AppendMatches(matches); | 153 r1.AppendMatches(matches); |
| 154 r1.SortAndCull(input, test_util_.profile()); | 154 r1.SortAndCull(input, test_util_.profile()); |
| 155 EXPECT_EQ(r1.begin(), r1.default_match()); | 155 EXPECT_EQ(r1.begin(), r1.default_match()); |
| 156 EXPECT_EQ("http://a/", r1.alternate_nav_url().spec()); | 156 EXPECT_EQ("http://a/", r1.alternate_nav_url().spec()); |
| 157 r1.Swap(&r2); | 157 r1.Swap(&r2); |
| 158 EXPECT_TRUE(r1.empty()); | 158 EXPECT_TRUE(r1.empty()); |
| 159 EXPECT_EQ(r1.end(), r1.default_match()); | 159 EXPECT_EQ(r1.end(), r1.default_match()); |
| 160 EXPECT_TRUE(r1.alternate_nav_url().is_empty()); | 160 EXPECT_TRUE(r1.alternate_nav_url().is_empty()); |
| 161 ASSERT_FALSE(r2.empty()); | 161 ASSERT_FALSE(r2.empty()); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 }; | 221 }; |
| 222 | 222 |
| 223 ACMatches matches; | 223 ACMatches matches; |
| 224 PopulateAutocompleteMatches(data, arraysize(data), &matches); | 224 PopulateAutocompleteMatches(data, arraysize(data), &matches); |
| 225 matches[1].destination_url = GURL(); | 225 matches[1].destination_url = GURL(); |
| 226 matches[3].destination_url = GURL(); | 226 matches[3].destination_url = GURL(); |
| 227 matches[4].destination_url = GURL(); | 227 matches[4].destination_url = GURL(); |
| 228 | 228 |
| 229 AutocompleteResult result; | 229 AutocompleteResult result; |
| 230 result.AppendMatches(matches); | 230 result.AppendMatches(matches); |
| 231 AutocompleteInput input(string16(), string16(), false, false, false, | 231 AutocompleteInput input(string16(), string16::npos, string16(), false, false, |
| 232 AutocompleteInput::ALL_MATCHES); | 232 false, AutocompleteInput::ALL_MATCHES); |
| 233 result.SortAndCull(input, test_util_.profile()); | 233 result.SortAndCull(input, test_util_.profile()); |
| 234 | 234 |
| 235 // Of the two results with the same non-empty destination URL, the | 235 // Of the two results with the same non-empty destination URL, the |
| 236 // lower-relevance one should be dropped. All of the results with empty URLs | 236 // lower-relevance one should be dropped. All of the results with empty URLs |
| 237 // should be kept. | 237 // should be kept. |
| 238 ASSERT_EQ(4U, result.size()); | 238 ASSERT_EQ(4U, result.size()); |
| 239 EXPECT_TRUE(result.match_at(0)->destination_url.is_empty()); | 239 EXPECT_TRUE(result.match_at(0)->destination_url.is_empty()); |
| 240 EXPECT_EQ(1300, result.match_at(0)->relevance); | 240 EXPECT_EQ(1300, result.match_at(0)->relevance); |
| 241 EXPECT_TRUE(result.match_at(1)->destination_url.is_empty()); | 241 EXPECT_TRUE(result.match_at(1)->destination_url.is_empty()); |
| 242 EXPECT_EQ(1200, result.match_at(1)->relevance); | 242 EXPECT_EQ(1200, result.match_at(1)->relevance); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 265 ACMatches matches; | 265 ACMatches matches; |
| 266 PopulateAutocompleteMatches(data, arraysize(data), &matches); | 266 PopulateAutocompleteMatches(data, arraysize(data), &matches); |
| 267 matches[0].destination_url = GURL("http://www.foo.com/s?q=foo"); | 267 matches[0].destination_url = GURL("http://www.foo.com/s?q=foo"); |
| 268 matches[1].destination_url = GURL("http://www.foo.com/s?q=foo2"); | 268 matches[1].destination_url = GURL("http://www.foo.com/s?q=foo2"); |
| 269 matches[2].destination_url = GURL("http://www.foo.com/s?q=foo&oq=f"); | 269 matches[2].destination_url = GURL("http://www.foo.com/s?q=foo&oq=f"); |
| 270 matches[3].destination_url = GURL("http://www.foo.com/s?q=foo&aqs=0"); | 270 matches[3].destination_url = GURL("http://www.foo.com/s?q=foo&aqs=0"); |
| 271 matches[4].destination_url = GURL("http://www.foo.com/"); | 271 matches[4].destination_url = GURL("http://www.foo.com/"); |
| 272 | 272 |
| 273 AutocompleteResult result; | 273 AutocompleteResult result; |
| 274 result.AppendMatches(matches); | 274 result.AppendMatches(matches); |
| 275 AutocompleteInput input(string16(), string16(), false, false, false, | 275 AutocompleteInput input(string16(), string16::npos, string16(), false, false, |
| 276 AutocompleteInput::ALL_MATCHES); | 276 false, AutocompleteInput::ALL_MATCHES); |
| 277 result.SortAndCull(input, test_util_.profile()); | 277 result.SortAndCull(input, test_util_.profile()); |
| 278 | 278 |
| 279 // We expect the 3rd and 4th results to be removed. | 279 // We expect the 3rd and 4th results to be removed. |
| 280 ASSERT_EQ(3U, result.size()); | 280 ASSERT_EQ(3U, result.size()); |
| 281 EXPECT_EQ("http://www.foo.com/s?q=foo", | 281 EXPECT_EQ("http://www.foo.com/s?q=foo", |
| 282 result.match_at(0)->destination_url.spec()); | 282 result.match_at(0)->destination_url.spec()); |
| 283 EXPECT_EQ(1300, result.match_at(0)->relevance); | 283 EXPECT_EQ(1300, result.match_at(0)->relevance); |
| 284 EXPECT_EQ("http://www.foo.com/s?q=foo2", | 284 EXPECT_EQ("http://www.foo.com/s?q=foo2", |
| 285 result.match_at(1)->destination_url.spec()); | 285 result.match_at(1)->destination_url.spec()); |
| 286 EXPECT_EQ(1200, result.match_at(1)->relevance); | 286 EXPECT_EQ(1200, result.match_at(1)->relevance); |
| 287 EXPECT_EQ("http://www.foo.com/", | 287 EXPECT_EQ("http://www.foo.com/", |
| 288 result.match_at(2)->destination_url.spec()); | 288 result.match_at(2)->destination_url.spec()); |
| 289 EXPECT_EQ(900, result.match_at(2)->relevance); | 289 EXPECT_EQ(900, result.match_at(2)->relevance); |
| 290 } | 290 } |
| OLD | NEW |