summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-09 21:20:32 +0000
committerjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-09 21:20:32 +0000
commitc1c8a28a39748be95f8856fdcc83c5bdc9d5857b (patch)
treec7cf4c12fd404ee78a6802ec2d2235ad4068e992
parent5a29260ad52e47afa054cce776f2017682992622 (diff)
downloadchromium_src-c1c8a28a39748be95f8856fdcc83c5bdc9d5857b.zip
chromium_src-c1c8a28a39748be95f8856fdcc83c5bdc9d5857b.tar.gz
chromium_src-c1c8a28a39748be95f8856fdcc83c5bdc9d5857b.tar.bz2
Landing georgey's CL
See http://codereview.chromium.org/361032 Review URL: http://codereview.chromium.org/378032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31475 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/cocoa/edit_search_engine_cocoa_controller_unittest.mm22
-rw-r--r--chrome/browser/search_engines/edit_search_engine_controller.cc10
2 files changed, 17 insertions, 15 deletions
diff --git a/chrome/browser/cocoa/edit_search_engine_cocoa_controller_unittest.mm b/chrome/browser/cocoa/edit_search_engine_cocoa_controller_unittest.mm
index 1a494bd..8e75c33 100644
--- a/chrome/browser/cocoa/edit_search_engine_cocoa_controller_unittest.mm
+++ b/chrome/browser/cocoa/edit_search_engine_cocoa_controller_unittest.mm
@@ -79,8 +79,8 @@ TEST_F(EditSearchEngineControllerTest, ValidImageOriginals) {
TEST_F(EditSearchEngineControllerTest, SetImageViews) {
EXPECT_TRUE([controller_ window]); // Force the window to load.
EXPECT_EQ([controller_ badImage], [[controller_ nameImage] image]);
- // An empty keyword is OK.
- EXPECT_EQ([controller_ goodImage], [[controller_ keywordImage] image]);
+ // An empty keyword is not OK.
+ EXPECT_EQ([controller_ badImage], [[controller_ keywordImage] image]);
EXPECT_EQ([controller_ badImage], [[controller_ urlImage] image]);
}
@@ -97,11 +97,11 @@ TEST_F(EditSearchEngineControllerTest, InvalidState) {
EXPECT_TRUE([toolTip isEqualToString:[[controller_ nameField] toolTip]]);
EXPECT_TRUE([toolTip isEqualToString:[[controller_ nameImage] toolTip]]);
- // Keywords can be empty strings.
+ // Keywords can not be empty strings.
EXPECT_TRUE([@"" isEqualToString:[[controller_ keywordField] stringValue]]);
- EXPECT_EQ([controller_ goodImage], [[controller_ keywordImage] image]);
- EXPECT_FALSE([[controller_ keywordField] toolTip]);
- EXPECT_FALSE([[controller_ keywordImage] toolTip]);
+ EXPECT_EQ([controller_ badImage], [[controller_ keywordImage] image]);
+ EXPECT_TRUE([[controller_ keywordField] toolTip]);
+ EXPECT_TRUE([[controller_ keywordImage] toolTip]);
EXPECT_TRUE([@"" isEqualToString:[[controller_ urlField] stringValue]]);
EXPECT_EQ([controller_ badImage], [[controller_ urlImage] image]);
@@ -128,14 +128,14 @@ TEST_F(EditSearchEngineControllerTest, ValidateName) {
EXPECT_FALSE([[controller_ doneButton] isEnabled]);
}
-// The keyword field is valid even if empty.
+// The keyword field is not valid if it is empty.
TEST_F(EditSearchEngineControllerTest, ValidateKeyword) {
EXPECT_TRUE([controller_ window]); // Force window load.
- EXPECT_EQ([controller_ goodImage], [[controller_ keywordImage] image]);
+ EXPECT_EQ([controller_ badImage], [[controller_ keywordImage] image]);
EXPECT_FALSE([controller_ validateFields]);
- EXPECT_FALSE([[controller_ keywordField] toolTip]);
- EXPECT_FALSE([[controller_ keywordImage] toolTip]);
+ EXPECT_TRUE([[controller_ keywordField] toolTip]);
+ EXPECT_TRUE([[controller_ keywordImage] toolTip]);
[[controller_ keywordField] setStringValue:@"foobar"];
EXPECT_FALSE([controller_ validateFields]);
EXPECT_EQ([controller_ goodImage], [[controller_ keywordImage] image]);
@@ -169,7 +169,7 @@ TEST_F(EditSearchEngineControllerTest, ValidateFields) {
// State before entering data.
EXPECT_EQ([controller_ badImage], [[controller_ nameImage] image]);
- EXPECT_EQ([controller_ goodImage], [[controller_ keywordImage] image]);
+ EXPECT_EQ([controller_ badImage], [[controller_ keywordImage] image]);
EXPECT_EQ([controller_ badImage], [[controller_ urlImage] image]);
EXPECT_FALSE([[controller_ doneButton] isEnabled]);
EXPECT_FALSE([controller_ validateFields]);
diff --git a/chrome/browser/search_engines/edit_search_engine_controller.cc b/chrome/browser/search_engines/edit_search_engine_controller.cc
index 22140c8..7ec3b53 100644
--- a/chrome/browser/search_engines/edit_search_engine_controller.cc
+++ b/chrome/browser/search_engines/edit_search_engine_controller.cc
@@ -24,7 +24,7 @@ EditSearchEngineController::EditSearchEngineController(
bool EditSearchEngineController::IsTitleValid(
const std::wstring& title_input) const {
- return !title_input.empty();
+ return !CollapseWhitespace(title_input, true).empty();
}
bool EditSearchEngineController::IsURLValid(
@@ -50,10 +50,12 @@ bool EditSearchEngineController::IsURLValid(
bool EditSearchEngineController::IsKeywordValid(
const std::wstring& keyword_input) const {
- if (keyword_input.empty())
- return true; // Always allow no keyword.
+ std::wstring keyword_input_trimmed(CollapseWhitespace(keyword_input, true));
+ if (keyword_input_trimmed.empty())
+ return false; // Do not allow empty keyword.
const TemplateURL* turl_with_keyword =
- profile_->GetTemplateURLModel()->GetTemplateURLForKeyword(keyword_input);
+ profile_->GetTemplateURLModel()->GetTemplateURLForKeyword(
+ keyword_input_trimmed);
return (turl_with_keyword == NULL || turl_with_keyword == template_url_);
}