Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(330)

Unified Diff: chrome/browser/autocomplete/search_provider_unittest.cc

Issue 7321001: Changes SearchProvider to set the description of the first consecutive (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix DCHECK Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/autocomplete/search_provider.cc ('k') | chrome/browser/instant/instant_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autocomplete/search_provider_unittest.cc
diff --git a/chrome/browser/autocomplete/search_provider_unittest.cc b/chrome/browser/autocomplete/search_provider_unittest.cc
index 4a1263ef6cffce4b664036b3bb012fc3c30460fe..dfeaaa483faf43c42abf45bd791913abd5eb2073 100644
--- a/chrome/browser/autocomplete/search_provider_unittest.cc
+++ b/chrome/browser/autocomplete/search_provider_unittest.cc
@@ -2,12 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "chrome/browser/autocomplete/search_provider.h"
+
#include "base/string_util.h"
#include "base/time.h"
#include "base/utf_string_conversions.h"
#include "build/build_config.h"
+#include "chrome/browser/autocomplete/autocomplete.h"
#include "chrome/browser/autocomplete/autocomplete_match.h"
-#include "chrome/browser/autocomplete/search_provider.h"
#include "chrome/browser/history/history.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/search_engines/template_url.h"
@@ -108,10 +110,13 @@ void SearchProviderTest::SetUp() {
TemplateURLService* turl_model =
TemplateURLServiceFactory::GetForProfile(&profile_);
+ turl_model->Load();
+
// Reset the default TemplateURL.
default_t_url_ = new TemplateURL();
default_t_url_->SetURL("http://defaultturl/{searchTerms}", 0, 0);
default_t_url_->SetSuggestionsURL("http://defaultturl2/{searchTerms}", 0, 0);
+ default_t_url_->set_short_name(ASCIIToUTF16("t"));
turl_model->Add(default_t_url_);
turl_model->SetDefaultSearchProvider(default_t_url_);
TemplateURLID default_provider_id = default_t_url_->id();
@@ -131,6 +136,7 @@ void SearchProviderTest::SetUp() {
// Create another TemplateURL.
keyword_t_url_ = new TemplateURL();
keyword_t_url_->set_keyword(ASCIIToUTF16("k"));
+ keyword_t_url_->set_short_name(ASCIIToUTF16("k"));
keyword_t_url_->SetURL("http://keyword/{searchTerms}", 0, 0);
keyword_t_url_->SetSuggestionsURL("http://suggest_keyword/{searchTerms}", 0,
0);
@@ -249,8 +255,8 @@ TEST_F(SearchProviderTest, QueryDefaultProvider) {
// term term1.
AutocompleteMatch term1_match = FindMatchWithDestination(term1_url_);
EXPECT_TRUE(!term1_match.destination_url.is_empty());
- // Term1 should have a description.
- EXPECT_FALSE(term1_match.description.empty());
+ // Term1 should not have a description, it's set later.
+ EXPECT_TRUE(term1_match.description.empty());
GURL what_you_typed_url = GURL(default_t_url_->url()->ReplaceSearchTerms(
*default_t_url_, term, 0, string16()));
@@ -378,8 +384,8 @@ TEST_F(SearchProviderTest, FinalizeInstantQuery) {
AutocompleteMatch instant_match = FindMatchWithDestination(instant_url);
EXPECT_TRUE(!instant_match.destination_url.is_empty());
- // And the 'foobar' match should have a description.
- EXPECT_FALSE(instant_match.description.empty());
+ // And the 'foobar' match should not have a description, it'll be set later.
+ EXPECT_TRUE(instant_match.description.empty());
// Make sure the what you typed match has no description.
GURL what_you_typed_url = GURL(default_t_url_->url()->ReplaceSearchTerms(
@@ -425,8 +431,8 @@ TEST_F(SearchProviderTest, RememberInstantQuery) {
instant_match = FindMatchWithDestination(instant_url);
EXPECT_FALSE(instant_match.destination_url.is_empty());
- // And the 'foobar' match should have a description.
- EXPECT_FALSE(instant_match.description.empty());
+ // And the 'foobar' match should not have a description, it'll be set later.
+ EXPECT_TRUE(instant_match.description.empty());
}
// Make sure that if trailing whitespace is added to the text supplied to
@@ -533,3 +539,41 @@ TEST_F(SearchProviderTest, AutocompletePreviousSearchOnSpace) {
// And the offset should be at 4.
EXPECT_EQ(4u, term_match.inline_autocomplete_offset);
}
+
+// Verifies the SearchProvider sets descriptions for results correctly.
+TEST_F(SearchProviderTest, PostProcessResults) {
+ // Add an entry that corresponds to a keyword search with 'term2'.
+ string16 term(ASCIIToUTF16("term2"));
+ HistoryService* history =
+ profile_.GetHistoryService(Profile::EXPLICIT_ACCESS);
+ GURL term_url(keyword_t_url_->url()->ReplaceSearchTerms(
+ *keyword_t_url_, term, 0, string16()));
+ history->AddPageWithDetails(term_url, string16(), 1, 1,
+ base::Time::Now(), false,
+ history::SOURCE_BROWSED);
+ history->SetKeywordSearchTermsForURL(term_url, keyword_t_url_->id(), term);
+
+ profile_.BlockUntilHistoryProcessesPendingRequests();
+
+ ACProviders providers;
+ SearchProvider* provider = provider_.release();
+ providers.push_back(provider);
+ AutocompleteController controller(providers);
+ provider->set_listener(&controller);
+ controller.Start(ASCIIToUTF16("k t"), string16(), false, false, true,
+ AutocompleteInput::ALL_MATCHES);
+ const AutocompleteResult& result = controller.result();
+
+ // There should be two matches, one for the keyword one for what you typed.
+ ASSERT_EQ(2u, result.size());
+
+ EXPECT_TRUE(result.match_at(0).template_url != NULL);
+ EXPECT_TRUE(result.match_at(1).template_url != NULL);
+ EXPECT_NE(result.match_at(0).template_url,
+ result.match_at(1).template_url);
+
+ EXPECT_FALSE(result.match_at(0).description.empty());
+ EXPECT_FALSE(result.match_at(1).description.empty());
+ EXPECT_NE(result.match_at(0).description,
+ result.match_at(1).description);
+}
« no previous file with comments | « chrome/browser/autocomplete/search_provider.cc ('k') | chrome/browser/instant/instant_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698