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 "base/format_macros.h" | 5 #include "base/format_macros.h" |
6 #include "base/string_util.h" | 6 #include "base/string_util.h" |
7 #include "base/stringprintf.h" | 7 #include "base/stringprintf.h" |
8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
9 #include "chrome/browser/autocomplete/autocomplete_input.h" | 9 #include "chrome/browser/autocomplete/autocomplete_input.h" |
10 #include "chrome/browser/autocomplete/autocomplete_match.h" | 10 #include "chrome/browser/autocomplete/autocomplete_match.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 TemplateURLServiceFactory::GetForProfile(browser()->profile())); | 72 TemplateURLServiceFactory::GetForProfile(browser()->profile())); |
73 | 73 |
74 AutocompleteController* autocomplete_controller = | 74 AutocompleteController* autocomplete_controller = |
75 GetAutocompleteController(browser()); | 75 GetAutocompleteController(browser()); |
76 | 76 |
77 // Test that our extension's keyword is suggested to us when we partially type | 77 // Test that our extension's keyword is suggested to us when we partially type |
78 // it. | 78 // it. |
79 { | 79 { |
80 autocomplete_controller->Start( | 80 autocomplete_controller->Start( |
81 AutocompleteInput(ASCIIToUTF16("keywor"), string16::npos, string16(), | 81 AutocompleteInput(ASCIIToUTF16("keywor"), string16::npos, string16(), |
82 true, false, true, AutocompleteInput::ALL_MATCHES)); | 82 GURL(), true, false, true, |
| 83 AutocompleteInput::ALL_MATCHES)); |
83 WaitForAutocompleteDone(autocomplete_controller); | 84 WaitForAutocompleteDone(autocomplete_controller); |
84 EXPECT_TRUE(autocomplete_controller->done()); | 85 EXPECT_TRUE(autocomplete_controller->done()); |
85 | 86 |
86 // Now, peek into the controller to see if it has the results we expect. | 87 // Now, peek into the controller to see if it has the results we expect. |
87 // First result should be to search for what was typed, second should be to | 88 // First result should be to search for what was typed, second should be to |
88 // enter "extension keyword" mode. | 89 // enter "extension keyword" mode. |
89 const AutocompleteResult& result = autocomplete_controller->result(); | 90 const AutocompleteResult& result = autocomplete_controller->result(); |
90 ASSERT_EQ(2U, result.size()) << AutocompleteResultAsString(result); | 91 ASSERT_EQ(2U, result.size()) << AutocompleteResultAsString(result); |
91 AutocompleteMatch match = result.match_at(0); | 92 AutocompleteMatch match = result.match_at(0); |
92 EXPECT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, match.type); | 93 EXPECT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, match.type); |
93 EXPECT_FALSE(match.deletable); | 94 EXPECT_FALSE(match.deletable); |
94 | 95 |
95 match = result.match_at(1); | 96 match = result.match_at(1); |
96 EXPECT_EQ(ASCIIToUTF16("keyword"), match.keyword); | 97 EXPECT_EQ(ASCIIToUTF16("keyword"), match.keyword); |
97 } | 98 } |
98 | 99 |
99 // Test that our extension can send suggestions back to us. | 100 // Test that our extension can send suggestions back to us. |
100 { | 101 { |
101 autocomplete_controller->Start( | 102 autocomplete_controller->Start( |
102 AutocompleteInput(ASCIIToUTF16("keyword suggestio"), string16::npos, | 103 AutocompleteInput(ASCIIToUTF16("keyword suggestio"), string16::npos, |
103 string16(), true, false, true, | 104 string16(), GURL(), true, false, true, |
104 AutocompleteInput::ALL_MATCHES)); | 105 AutocompleteInput::ALL_MATCHES)); |
105 WaitForAutocompleteDone(autocomplete_controller); | 106 WaitForAutocompleteDone(autocomplete_controller); |
106 EXPECT_TRUE(autocomplete_controller->done()); | 107 EXPECT_TRUE(autocomplete_controller->done()); |
107 | 108 |
108 // Now, peek into the controller to see if it has the results we expect. | 109 // Now, peek into the controller to see if it has the results we expect. |
109 // First result should be to invoke the keyword with what we typed, 2-4 | 110 // First result should be to invoke the keyword with what we typed, 2-4 |
110 // should be to invoke with suggestions from the extension, and the last | 111 // should be to invoke with suggestions from the extension, and the last |
111 // should be to search for what we typed. | 112 // should be to search for what we typed. |
112 const AutocompleteResult& result = autocomplete_controller->result(); | 113 const AutocompleteResult& result = autocomplete_controller->result(); |
113 ASSERT_EQ(5U, result.size()) << AutocompleteResultAsString(result); | 114 ASSERT_EQ(5U, result.size()) << AutocompleteResultAsString(result); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 // Quickly type another query and accept it before getting suggestions back | 222 // Quickly type another query and accept it before getting suggestions back |
222 // for the query. The popup will close after accepting input - ensure that it | 223 // for the query. The popup will close after accepting input - ensure that it |
223 // does not reopen when the extension returns its suggestions. | 224 // does not reopen when the extension returns its suggestions. |
224 ResultCatcher catcher; | 225 ResultCatcher catcher; |
225 | 226 |
226 // TODO: Rather than send this second request by talking to the controller | 227 // TODO: Rather than send this second request by talking to the controller |
227 // directly, figure out how to send it via the proper calls to | 228 // directly, figure out how to send it via the proper calls to |
228 // location_bar or location_bar->(). | 229 // location_bar or location_bar->(). |
229 autocomplete_controller->Start( | 230 autocomplete_controller->Start( |
230 AutocompleteInput(ASCIIToUTF16("keyword command"), string16::npos, | 231 AutocompleteInput(ASCIIToUTF16("keyword command"), string16::npos, |
231 string16(), true, false, true, | 232 string16(), GURL(), true, false, true, |
232 AutocompleteInput::ALL_MATCHES)); | 233 AutocompleteInput::ALL_MATCHES)); |
233 location_bar->AcceptInput(); | 234 location_bar->AcceptInput(); |
234 WaitForAutocompleteDone(autocomplete_controller); | 235 WaitForAutocompleteDone(autocomplete_controller); |
235 EXPECT_TRUE(autocomplete_controller->done()); | 236 EXPECT_TRUE(autocomplete_controller->done()); |
236 // This checks that the keyword provider (via javascript) | 237 // This checks that the keyword provider (via javascript) |
237 // gets told to navigate to the string "command". | 238 // gets told to navigate to the string "command". |
238 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 239 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
239 EXPECT_FALSE(popup_model->IsOpen()); | 240 EXPECT_FALSE(popup_model->IsOpen()); |
240 } | 241 } |
241 | 242 |
(...skipping 19 matching lines...) Expand all Loading... |
261 TemplateURLServiceFactory::GetForProfile(browser()->profile())); | 262 TemplateURLServiceFactory::GetForProfile(browser()->profile())); |
262 | 263 |
263 LocationBar* location_bar = GetLocationBar(incognito_browser); | 264 LocationBar* location_bar = GetLocationBar(incognito_browser); |
264 AutocompleteController* autocomplete_controller = | 265 AutocompleteController* autocomplete_controller = |
265 GetAutocompleteController(incognito_browser); | 266 GetAutocompleteController(incognito_browser); |
266 | 267 |
267 // Test that we get the incognito-specific suggestions. | 268 // Test that we get the incognito-specific suggestions. |
268 { | 269 { |
269 autocomplete_controller->Start( | 270 autocomplete_controller->Start( |
270 AutocompleteInput(ASCIIToUTF16("keyword suggestio"), string16::npos, | 271 AutocompleteInput(ASCIIToUTF16("keyword suggestio"), string16::npos, |
271 string16(), true, false, true, | 272 string16(), GURL(), true, false, true, |
272 AutocompleteInput::ALL_MATCHES)); | 273 AutocompleteInput::ALL_MATCHES)); |
273 WaitForAutocompleteDone(autocomplete_controller); | 274 WaitForAutocompleteDone(autocomplete_controller); |
274 EXPECT_TRUE(autocomplete_controller->done()); | 275 EXPECT_TRUE(autocomplete_controller->done()); |
275 | 276 |
276 // First result should be to invoke the keyword with what we typed, 2-4 | 277 // First result should be to invoke the keyword with what we typed, 2-4 |
277 // should be to invoke with suggestions from the extension, and the last | 278 // should be to invoke with suggestions from the extension, and the last |
278 // should be to search for what we typed. | 279 // should be to search for what we typed. |
279 const AutocompleteResult& result = autocomplete_controller->result(); | 280 const AutocompleteResult& result = autocomplete_controller->result(); |
280 ASSERT_EQ(5U, result.size()) << AutocompleteResultAsString(result); | 281 ASSERT_EQ(5U, result.size()) << AutocompleteResultAsString(result); |
281 ASSERT_FALSE(result.match_at(0).keyword.empty()); | 282 ASSERT_FALSE(result.match_at(0).keyword.empty()); |
282 EXPECT_EQ(ASCIIToUTF16("keyword suggestion3 incognito"), | 283 EXPECT_EQ(ASCIIToUTF16("keyword suggestion3 incognito"), |
283 result.match_at(3).fill_into_edit); | 284 result.match_at(3).fill_into_edit); |
284 } | 285 } |
285 | 286 |
286 // Test that our input is sent to the incognito context. The test will do a | 287 // Test that our input is sent to the incognito context. The test will do a |
287 // text comparison and succeed only if "command incognito" is sent to the | 288 // text comparison and succeed only if "command incognito" is sent to the |
288 // incognito context. | 289 // incognito context. |
289 { | 290 { |
290 ResultCatcher catcher; | 291 ResultCatcher catcher; |
291 autocomplete_controller->Start( | 292 autocomplete_controller->Start( |
292 AutocompleteInput(ASCIIToUTF16("keyword command incognito"), | 293 AutocompleteInput(ASCIIToUTF16("keyword command incognito"), |
293 string16::npos, string16(), true, false, true, | 294 string16::npos, string16(), GURL(), true, false, true, |
294 AutocompleteInput::ALL_MATCHES)); | 295 AutocompleteInput::ALL_MATCHES)); |
295 location_bar->AcceptInput(); | 296 location_bar->AcceptInput(); |
296 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); | 297 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
297 } | 298 } |
298 } | 299 } |
OLD | NEW |