| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "app/l10n_util_mac.h" | 5 #include "app/l10n_util_mac.h" |
| 6 #include "base/scoped_nsobject.h" | 6 #include "base/scoped_nsobject.h" |
| 7 #include "chrome/browser/browser.h" | 7 #include "chrome/browser/browser.h" |
| 8 #include "chrome/browser/cocoa/browser_test_helper.h" | 8 #include "chrome/browser/cocoa/browser_test_helper.h" |
| 9 #include "chrome/browser/cocoa/cocoa_test_helper.h" | 9 #include "chrome/browser/cocoa/cocoa_test_helper.h" |
| 10 #import "chrome/browser/cocoa/edit_search_engine_cocoa_controller.h" | 10 #import "chrome/browser/cocoa/edit_search_engine_cocoa_controller.h" |
| 11 #include "chrome/test/testing_profile.h" | 11 #include "chrome/test/testing_profile.h" |
| 12 #include "grit/generated_resources.h" | 12 #include "grit/generated_resources.h" |
| 13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
| 14 #import "testing/gtest_mac.h" |
| 14 #include "testing/platform_test.h" | 15 #include "testing/platform_test.h" |
| 15 | 16 |
| 16 @interface FakeEditSearchEngineController : EditSearchEngineCocoaController { | 17 @interface FakeEditSearchEngineController : EditSearchEngineCocoaController { |
| 17 } | 18 } |
| 18 @property (nonatomic, readonly) NSTextField* nameField; | 19 @property (nonatomic, readonly) NSTextField* nameField; |
| 19 @property (nonatomic, readonly) NSTextField* keywordField; | 20 @property (nonatomic, readonly) NSTextField* keywordField; |
| 20 @property (nonatomic, readonly) NSTextField* urlField; | 21 @property (nonatomic, readonly) NSTextField* urlField; |
| 21 @property (nonatomic, readonly) NSImageView* nameImage; | 22 @property (nonatomic, readonly) NSImageView* nameImage; |
| 22 @property (nonatomic, readonly) NSImageView* keywordImage; | 23 @property (nonatomic, readonly) NSImageView* keywordImage; |
| 23 @property (nonatomic, readonly) NSImageView* urlImage; | 24 @property (nonatomic, readonly) NSImageView* urlImage; |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 EXPECT_FALSE([controller_ badImage]); | 77 EXPECT_FALSE([controller_ badImage]); |
| 77 | 78 |
| 78 EXPECT_TRUE([controller_ window]); // Force the window to load. | 79 EXPECT_TRUE([controller_ window]); // Force the window to load. |
| 79 | 80 |
| 80 EXPECT_TRUE([[controller_ goodImage] isKindOfClass:[NSImage class]]); | 81 EXPECT_TRUE([[controller_ goodImage] isKindOfClass:[NSImage class]]); |
| 81 EXPECT_TRUE([[controller_ badImage] isKindOfClass:[NSImage class]]); | 82 EXPECT_TRUE([[controller_ badImage] isKindOfClass:[NSImage class]]); |
| 82 | 83 |
| 83 // Test window title is set correctly. | 84 // Test window title is set correctly. |
| 84 NSString* title = l10n_util::GetNSString( | 85 NSString* title = l10n_util::GetNSString( |
| 85 IDS_SEARCH_ENGINES_EDITOR_NEW_WINDOW_TITLE); | 86 IDS_SEARCH_ENGINES_EDITOR_NEW_WINDOW_TITLE); |
| 86 EXPECT_TRUE([title isEqualToString:[[controller_ window] title]]); | 87 EXPECT_NSEQ(title, [[controller_ window] title]); |
| 87 } | 88 } |
| 88 | 89 |
| 89 TEST_F(EditSearchEngineControllerTest, SetImageViews) { | 90 TEST_F(EditSearchEngineControllerTest, SetImageViews) { |
| 90 EXPECT_TRUE([controller_ window]); // Force the window to load. | 91 EXPECT_TRUE([controller_ window]); // Force the window to load. |
| 91 EXPECT_EQ([controller_ badImage], [[controller_ nameImage] image]); | 92 EXPECT_EQ([controller_ badImage], [[controller_ nameImage] image]); |
| 92 // An empty keyword is not OK. | 93 // An empty keyword is not OK. |
| 93 EXPECT_EQ([controller_ badImage], [[controller_ keywordImage] image]); | 94 EXPECT_EQ([controller_ badImage], [[controller_ keywordImage] image]); |
| 94 EXPECT_EQ([controller_ badImage], [[controller_ urlImage] image]); | 95 EXPECT_EQ([controller_ badImage], [[controller_ urlImage] image]); |
| 95 } | 96 } |
| 96 | 97 |
| 97 // This test ensures that on creating a new keyword, we are in an "invalid" | 98 // This test ensures that on creating a new keyword, we are in an "invalid" |
| 98 // state that cannot save. | 99 // state that cannot save. |
| 99 TEST_F(EditSearchEngineControllerTest, InvalidState) { | 100 TEST_F(EditSearchEngineControllerTest, InvalidState) { |
| 100 EXPECT_TRUE([controller_ window]); // Force window to load. | 101 EXPECT_TRUE([controller_ window]); // Force window to load. |
| 101 NSString* toolTip = nil; | 102 NSString* toolTip = nil; |
| 102 EXPECT_FALSE([controller_ validateFields]); | 103 EXPECT_FALSE([controller_ validateFields]); |
| 103 | 104 |
| 104 EXPECT_TRUE([@"" isEqualToString:[[controller_ nameField] stringValue]]); | 105 EXPECT_NSEQ(@"", [[controller_ nameField] stringValue]); |
| 105 EXPECT_EQ([controller_ badImage], [[controller_ nameImage] image]); | 106 EXPECT_EQ([controller_ badImage], [[controller_ nameImage] image]); |
| 106 toolTip = l10n_util::GetNSString(IDS_SEARCH_ENGINES_INVALID_TITLE_TT); | 107 toolTip = l10n_util::GetNSString(IDS_SEARCH_ENGINES_INVALID_TITLE_TT); |
| 107 EXPECT_TRUE([toolTip isEqualToString:[[controller_ nameField] toolTip]]); | 108 EXPECT_NSEQ(toolTip, [[controller_ nameField] toolTip]); |
| 108 EXPECT_TRUE([toolTip isEqualToString:[[controller_ nameImage] toolTip]]); | 109 EXPECT_NSEQ(toolTip, [[controller_ nameImage] toolTip]); |
| 109 | 110 |
| 110 // Keywords can not be empty strings. | 111 // Keywords can not be empty strings. |
| 111 EXPECT_TRUE([@"" isEqualToString:[[controller_ keywordField] stringValue]]); | 112 EXPECT_NSEQ(@"", [[controller_ keywordField] stringValue]); |
| 112 EXPECT_EQ([controller_ badImage], [[controller_ keywordImage] image]); | 113 EXPECT_EQ([controller_ badImage], [[controller_ keywordImage] image]); |
| 113 EXPECT_TRUE([[controller_ keywordField] toolTip]); | 114 EXPECT_TRUE([[controller_ keywordField] toolTip]); |
| 114 EXPECT_TRUE([[controller_ keywordImage] toolTip]); | 115 EXPECT_TRUE([[controller_ keywordImage] toolTip]); |
| 115 | 116 |
| 116 EXPECT_TRUE([@"" isEqualToString:[[controller_ urlField] stringValue]]); | 117 EXPECT_NSEQ(@"", [[controller_ urlField] stringValue]); |
| 117 EXPECT_EQ([controller_ badImage], [[controller_ urlImage] image]); | 118 EXPECT_EQ([controller_ badImage], [[controller_ urlImage] image]); |
| 118 toolTip = l10n_util::GetNSString(IDS_SEARCH_ENGINES_INVALID_URL_TT); | 119 toolTip = l10n_util::GetNSString(IDS_SEARCH_ENGINES_INVALID_URL_TT); |
| 119 EXPECT_TRUE([toolTip isEqualToString:[[controller_ urlField] toolTip]]); | 120 EXPECT_NSEQ(toolTip, [[controller_ urlField] toolTip]); |
| 120 EXPECT_TRUE([toolTip isEqualToString:[[controller_ urlImage] toolTip]]); | 121 EXPECT_NSEQ(toolTip, [[controller_ urlImage] toolTip]); |
| 121 } | 122 } |
| 122 | 123 |
| 123 // Tests that the single name field validates. | 124 // Tests that the single name field validates. |
| 124 TEST_F(EditSearchEngineControllerTest, ValidateName) { | 125 TEST_F(EditSearchEngineControllerTest, ValidateName) { |
| 125 EXPECT_TRUE([controller_ window]); // Force window to load. | 126 EXPECT_TRUE([controller_ window]); // Force window to load. |
| 126 | 127 |
| 127 EXPECT_EQ([controller_ badImage], [[controller_ nameImage] image]); | 128 EXPECT_EQ([controller_ badImage], [[controller_ nameImage] image]); |
| 128 EXPECT_FALSE([controller_ validateFields]); | 129 EXPECT_FALSE([controller_ validateFields]); |
| 129 NSString* toolTip = | 130 NSString* toolTip = |
| 130 l10n_util::GetNSString(IDS_SEARCH_ENGINES_INVALID_TITLE_TT); | 131 l10n_util::GetNSString(IDS_SEARCH_ENGINES_INVALID_TITLE_TT); |
| 131 EXPECT_TRUE([toolTip isEqualToString:[[controller_ nameField] toolTip]]); | 132 EXPECT_NSEQ(toolTip, [[controller_ nameField] toolTip]); |
| 132 EXPECT_TRUE([toolTip isEqualToString:[[controller_ nameImage] toolTip]]); | 133 EXPECT_NSEQ(toolTip, [[controller_ nameImage] toolTip]); |
| 133 [[controller_ nameField] setStringValue:@"Test Name"]; | 134 [[controller_ nameField] setStringValue:@"Test Name"]; |
| 134 EXPECT_FALSE([controller_ validateFields]); | 135 EXPECT_FALSE([controller_ validateFields]); |
| 135 EXPECT_EQ([controller_ goodImage], [[controller_ nameImage] image]); | 136 EXPECT_EQ([controller_ goodImage], [[controller_ nameImage] image]); |
| 136 EXPECT_FALSE([[controller_ nameField] toolTip]); | 137 EXPECT_FALSE([[controller_ nameField] toolTip]); |
| 137 EXPECT_FALSE([[controller_ nameImage] toolTip]); | 138 EXPECT_FALSE([[controller_ nameImage] toolTip]); |
| 138 EXPECT_FALSE([[controller_ doneButton] isEnabled]); | 139 EXPECT_FALSE([[controller_ doneButton] isEnabled]); |
| 139 } | 140 } |
| 140 | 141 |
| 141 // The keyword field is not valid if it is empty. | 142 // The keyword field is not valid if it is empty. |
| 142 TEST_F(EditSearchEngineControllerTest, ValidateKeyword) { | 143 TEST_F(EditSearchEngineControllerTest, ValidateKeyword) { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 155 } | 156 } |
| 156 | 157 |
| 157 // Tests that the URL field validates. | 158 // Tests that the URL field validates. |
| 158 TEST_F(EditSearchEngineControllerTest, ValidateURL) { | 159 TEST_F(EditSearchEngineControllerTest, ValidateURL) { |
| 159 EXPECT_TRUE([controller_ window]); // Force window to load. | 160 EXPECT_TRUE([controller_ window]); // Force window to load. |
| 160 | 161 |
| 161 EXPECT_EQ([controller_ badImage], [[controller_ urlImage] image]); | 162 EXPECT_EQ([controller_ badImage], [[controller_ urlImage] image]); |
| 162 EXPECT_FALSE([controller_ validateFields]); | 163 EXPECT_FALSE([controller_ validateFields]); |
| 163 NSString* toolTip = | 164 NSString* toolTip = |
| 164 l10n_util::GetNSString(IDS_SEARCH_ENGINES_INVALID_URL_TT); | 165 l10n_util::GetNSString(IDS_SEARCH_ENGINES_INVALID_URL_TT); |
| 165 EXPECT_TRUE([toolTip isEqualToString:[[controller_ urlField] toolTip]]); | 166 EXPECT_NSEQ(toolTip, [[controller_ urlField] toolTip]); |
| 166 EXPECT_TRUE([toolTip isEqualToString:[[controller_ urlImage] toolTip]]); | 167 EXPECT_NSEQ(toolTip, [[controller_ urlImage] toolTip]); |
| 167 [[controller_ urlField] setStringValue:@"http://foo-bar.com"]; | 168 [[controller_ urlField] setStringValue:@"http://foo-bar.com"]; |
| 168 EXPECT_FALSE([controller_ validateFields]); | 169 EXPECT_FALSE([controller_ validateFields]); |
| 169 EXPECT_EQ([controller_ goodImage], [[controller_ urlImage] image]); | 170 EXPECT_EQ([controller_ goodImage], [[controller_ urlImage] image]); |
| 170 EXPECT_FALSE([[controller_ urlField] toolTip]); | 171 EXPECT_FALSE([[controller_ urlField] toolTip]); |
| 171 EXPECT_FALSE([[controller_ urlImage] toolTip]); | 172 EXPECT_FALSE([[controller_ urlImage] toolTip]); |
| 172 EXPECT_FALSE([[controller_ doneButton] isEnabled]); | 173 EXPECT_FALSE([[controller_ doneButton] isEnabled]); |
| 173 } | 174 } |
| 174 | 175 |
| 175 // Tests that if the user enters all valid data that the UI reflects that | 176 // Tests that if the user enters all valid data that the UI reflects that |
| 176 // and that they can save. | 177 // and that they can save. |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 L"http://foo-bar.com"); | 211 L"http://foo-bar.com"); |
| 211 url.SetURL(urlString, 0, 1); | 212 url.SetURL(urlString, 0, 1); |
| 212 TestingProfile* profile = browser_helper_.profile(); | 213 TestingProfile* profile = browser_helper_.profile(); |
| 213 FakeEditSearchEngineController *controller = | 214 FakeEditSearchEngineController *controller = |
| 214 [[FakeEditSearchEngineController alloc] initWithProfile:profile | 215 [[FakeEditSearchEngineController alloc] initWithProfile:profile |
| 215 delegate:nil | 216 delegate:nil |
| 216 templateURL:&url]; | 217 templateURL:&url]; |
| 217 EXPECT_TRUE([controller window]); | 218 EXPECT_TRUE([controller window]); |
| 218 NSString* title = l10n_util::GetNSString( | 219 NSString* title = l10n_util::GetNSString( |
| 219 IDS_SEARCH_ENGINES_EDITOR_EDIT_WINDOW_TITLE); | 220 IDS_SEARCH_ENGINES_EDITOR_EDIT_WINDOW_TITLE); |
| 220 EXPECT_TRUE([title isEqualToString:[[controller window] title]]); | 221 EXPECT_NSEQ(title, [[controller window] title]); |
| 221 NSString* nameString = [[controller nameField] stringValue]; | 222 NSString* nameString = [[controller nameField] stringValue]; |
| 222 EXPECT_TRUE([@"Foobar" isEqualToString:nameString]); | 223 EXPECT_NSEQ(@"Foobar", nameString); |
| 223 NSString* keywordString = [[controller keywordField] stringValue]; | 224 NSString* keywordString = [[controller keywordField] stringValue]; |
| 224 EXPECT_TRUE([@"keyword" isEqualToString:keywordString]); | 225 EXPECT_NSEQ(@"keyword", keywordString); |
| 225 NSString* urlValueString = [[controller urlField] stringValue]; | 226 NSString* urlValueString = [[controller urlField] stringValue]; |
| 226 EXPECT_TRUE([@"http://foo-bar.com" isEqualToString:urlValueString]); | 227 EXPECT_NSEQ(@"http://foo-bar.com", urlValueString); |
| 227 EXPECT_TRUE([controller validateFields]); | 228 EXPECT_TRUE([controller validateFields]); |
| 228 [controller close]; | 229 [controller close]; |
| 229 } | 230 } |
| 230 | 231 |
| 231 } // namespace | 232 } // namespace |
| OLD | NEW |