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

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

Issue 8364001: Strip special characters in extension omnibox suggestions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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
Index: chrome/browser/autocomplete/keyword_provider_unittest.cc
===================================================================
--- chrome/browser/autocomplete/keyword_provider_unittest.cc (revision 107110)
+++ chrome/browser/autocomplete/keyword_provider_unittest.cc (working copy)
@@ -6,8 +6,10 @@
#include "base/utf_string_conversions.h"
#include "chrome/browser/autocomplete/autocomplete_match.h"
#include "chrome/browser/autocomplete/keyword_provider.h"
+#include "chrome/browser/extensions/extension_omnibox_api.h"
#include "chrome/browser/search_engines/template_url.h"
#include "chrome/browser/search_engines/template_url_service.h"
+#include "chrome/common/url_constants.h"
#include "chrome/test/base/testing_browser_process.h"
#include "googleurl/src/gurl.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -216,3 +218,38 @@
model_->Remove(model_->GetTemplateURLForKeyword(ASCIIToUTF16("aaaa")));
ASSERT_TRUE(model_->GetTemplateURLForKeyword(ASCIIToUTF16("aaaa")) == NULL);
}
+
+TEST_F(KeywordProviderTest, SuggestionMatchSanitize) {
+ struct TestData {
+ const char* description;
+ const char* match_contents;
+ } cases[] = {
+ { "Test", "Test" },
+ { "Test \n Test", "Test Test" },
+ { "Test\r\t\nTest", "TestTest" },
+ };
+
+ // Register the "Test" keyword to avoid hitting a DCHECK() in
+ // |KeywordProvider::CreateAutocompleteMatch()|.
+ TemplateURL* template_url = new TemplateURL();
+ string16 keyword(ASCIIToUTF16("test"));
+ std::string url("http://www.example.com/?q={searchTerms}");
+ template_url->SetURL(url, 0, 0);
+ template_url->set_keyword(keyword);
+ template_url->set_short_name(ASCIIToUTF16("Test"));
+ model_->Add(template_url);
+
+ AutocompleteInput input(keyword, ASCIIToUTF16(""),
+ true, true, true, AutocompleteInput::BEST_MATCH);
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
+ ExtensionOmniboxSuggestion suggestion;
+ suggestion.description = ASCIIToUTF16(cases[i].description);
+ AutocompleteMatch match =
+ kw_provider_->CreateAutocompleteMatchFromSuggestion(model_.get(),
+ keyword,
+ input,
+ suggestion,
+ 1);
+ EXPECT_EQ(ASCIIToUTF16(cases[i].match_contents), match.contents);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698