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

Side by Side Diff: chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller_unittest.mm

Issue 2380903002: Revert of Update image and text color when row is selected in the chooser on Mac (Closed)
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller.h" 5 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller.h"
6 6
7 #import <Cocoa/Cocoa.h> 7 #import <Cocoa/Cocoa.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "chrome/browser/chooser_controller/mock_chooser_controller.h" 13 #include "chrome/browser/chooser_controller/mock_chooser_controller.h"
14 #import "chrome/browser/ui/cocoa/chooser_content_view_cocoa.h" 14 #import "chrome/browser/ui/cocoa/chooser_content_view_cocoa.h"
15 #import "chrome/browser/ui/cocoa/cocoa_profile_test.h" 15 #import "chrome/browser/ui/cocoa/cocoa_profile_test.h"
16 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h" 16 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h"
17 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa.h" 17 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa.h"
18 #include "chrome/browser/ui/cocoa/spinner_view.h" 18 #include "chrome/browser/ui/cocoa/spinner_view.h"
19 #include "chrome/grit/generated_resources.h" 19 #include "chrome/grit/generated_resources.h"
20 #include "skia/ext/skia_utils_mac.h"
21 #include "testing/gmock/include/gmock/gmock.h" 20 #include "testing/gmock/include/gmock/gmock.h"
22 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
23 #include "testing/gtest_mac.h" 22 #include "testing/gtest_mac.h"
24 #include "ui/base/l10n/l10n_util_mac.h" 23 #include "ui/base/l10n/l10n_util_mac.h"
25 #include "ui/base/resource/resource_bundle.h" 24 #include "ui/base/resource/resource_bundle.h"
26 #include "ui/gfx/color_palette.h" 25 #include "ui/gfx/color_palette.h"
27 #include "ui/gfx/image/image.h" 26 #include "ui/gfx/image/image.h"
28 #include "ui/gfx/image/image_unittest_util.h" 27 #include "ui/gfx/image/image_unittest_util.h"
29 #include "ui/gfx/paint_vector_icon.h" 28 #include "ui/gfx/paint_vector_icon.h"
30 #include "ui/gfx/vector_icons_public.h" 29 #include "ui/gfx/vector_icons_public.h"
31 #include "ui/resources/grit/ui_resources.h" 30 #include "ui/resources/grit/ui_resources.h"
32 31
33 namespace { 32 namespace {
34 33
35 // The lookup table for signal strength level image. 34 // The lookup table for signal strength level image.
36 const int kSignalStrengthLevelImageIds[5] = {IDR_SIGNAL_0_BAR, IDR_SIGNAL_1_BAR, 35 const int kSignalStrengthLevelImageIds[5] = {IDR_SIGNAL_0_BAR, IDR_SIGNAL_1_BAR,
37 IDR_SIGNAL_2_BAR, IDR_SIGNAL_3_BAR, 36 IDR_SIGNAL_2_BAR, IDR_SIGNAL_3_BAR,
38 IDR_SIGNAL_4_BAR}; 37 IDR_SIGNAL_4_BAR};
39 const int kSignalStrengthLevelImageSelectedIds[5] = {
40 IDR_SIGNAL_0_BAR_SELECTED, IDR_SIGNAL_1_BAR_SELECTED,
41 IDR_SIGNAL_2_BAR_SELECTED, IDR_SIGNAL_3_BAR_SELECTED,
42 IDR_SIGNAL_4_BAR_SELECTED};
43 38
44 } // namespace 39 } // namespace
45 40
46 class ChooserDialogCocoaControllerTest : public CocoaProfileTest { 41 class ChooserDialogCocoaControllerTest : public CocoaProfileTest {
47 protected: 42 protected:
48 ChooserDialogCocoaControllerTest() 43 ChooserDialogCocoaControllerTest()
49 : rb_(ui::ResourceBundle::GetSharedInstance()) {} 44 : rb_(ui::ResourceBundle::GetSharedInstance()) {}
50 ~ChooserDialogCocoaControllerTest() override {} 45 ~ChooserDialogCocoaControllerTest() override {}
51 46
52 void SetUp() override { 47 void SetUp() override {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 help_button_ = [chooser_content_view_ helpButton]; 82 help_button_ = [chooser_content_view_ helpButton];
88 ASSERT_TRUE(help_button_); 83 ASSERT_TRUE(help_button_);
89 } 84 }
90 85
91 void ExpectNoRowImage(int row) { 86 void ExpectNoRowImage(int row) {
92 ASSERT_FALSE( 87 ASSERT_FALSE(
93 [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)]); 88 [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)]);
94 } 89 }
95 90
96 void ExpectSignalStrengthLevelImageIs(int row, 91 void ExpectSignalStrengthLevelImageIs(int row,
97 int expected_signal_strength_level, 92 int expected_signal_strength_level) {
98 int expected_color) {
99 NSImageView* image_view = 93 NSImageView* image_view =
100 [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)]; 94 [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)];
101 ASSERT_TRUE(image_view); 95 ASSERT_TRUE(image_view);
102 int image_id = 96 EXPECT_NSEQ(
103 expected_color == MockChooserController::kImageColorUnselected 97 rb_.GetNativeImageNamed(
104 ? kSignalStrengthLevelImageIds[expected_signal_strength_level] 98 kSignalStrengthLevelImageIds[expected_signal_strength_level])
105 : kSignalStrengthLevelImageSelectedIds 99 .ToNSImage(),
106 [expected_signal_strength_level]; 100 [image_view image]);
107 EXPECT_NSEQ(rb_.GetNativeImageNamed(image_id).ToNSImage(),
108 [image_view image]);
109 } 101 }
110 102
111 void ExpectRowImageIsConnectedImage(int row, SkColor expected_color) { 103 void ExpectRowImageIsConnectedImage(int row) {
112 NSImageView* image_view = 104 NSImageView* image_view =
113 [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)]; 105 [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)];
114 ASSERT_TRUE(image_view); 106 ASSERT_TRUE(image_view);
115 EXPECT_TRUE(gfx::test::AreImagesEqual( 107 EXPECT_TRUE(gfx::test::AreImagesEqual(
116 gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BLUETOOTH_CONNECTED, 108 gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BLUETOOTH_CONNECTED,
117 expected_color)), 109 gfx::kChromeIconGrey)),
118 gfx::Image([[image_view image] copy]))); 110 gfx::Image([[image_view image] copy])));
119 } 111 }
120 112
121 void ExpectRowTextIs(int row, NSString* expected_text) { 113 void ExpectRowTextIs(int row, NSString* expected_text) {
122 EXPECT_NSEQ(expected_text, 114 EXPECT_NSEQ(expected_text,
123 [[chooser_content_view_ 115 [[chooser_content_view_
124 tableRowViewText:static_cast<NSInteger>(row)] stringValue]); 116 tableRowViewText:static_cast<NSInteger>(row)] stringValue]);
125 } 117 }
126 118
127 void ExpectRowTextColorIs(int row, NSColor* expected_color) {
128 EXPECT_NSEQ(expected_color,
129 [[chooser_content_view_
130 tableRowViewText:static_cast<NSInteger>(row)] textColor]);
131 }
132
133 bool IsRowPaired(int row) { 119 bool IsRowPaired(int row) {
134 NSTextField* paired_status = [chooser_content_view_ 120 NSTextField* paired_status = [chooser_content_view_
135 tableRowViewPairedStatus:static_cast<NSInteger>(row)]; 121 tableRowViewPairedStatus:static_cast<NSInteger>(row)];
136 if (paired_status) { 122 if (paired_status) {
137 EXPECT_NSEQ(l10n_util::GetNSString(IDS_DEVICE_CHOOSER_PAIRED_STATUS_TEXT), 123 EXPECT_NSEQ(l10n_util::GetNSString(IDS_DEVICE_CHOOSER_PAIRED_STATUS_TEXT),
138 [paired_status stringValue]); 124 [paired_status stringValue]);
139 return true; 125 return true;
140 } else { 126 } else {
141 return false; 127 return false;
142 } 128 }
143 } 129 }
144 130
145 void ExpectPairedTextColorIs(int row, NSColor* expected_color) {
146 EXPECT_NSEQ(
147 expected_color,
148 [[chooser_content_view_
149 tableRowViewPairedStatus:static_cast<NSInteger>(row)] textColor]);
150 }
151
152 ui::ResourceBundle& rb_; 131 ui::ResourceBundle& rb_;
153 132
154 std::unique_ptr<ChooserDialogCocoa> chooser_dialog_; 133 std::unique_ptr<ChooserDialogCocoa> chooser_dialog_;
155 134
156 MockChooserController* mock_chooser_controller_; 135 MockChooserController* mock_chooser_controller_;
157 ChooserDialogCocoaController* chooser_dialog_controller_; 136 ChooserDialogCocoaController* chooser_dialog_controller_;
158 ChooserContentViewCocoa* chooser_content_view_; 137 ChooserContentViewCocoa* chooser_content_view_;
159 NSTableView* table_view_; 138 NSTableView* table_view_;
160 SpinnerView* spinner_; 139 SpinnerView* spinner_;
161 NSTextField* status_; 140 NSTextField* status_;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 mock_chooser_controller_->OptionAdded( 175 mock_chooser_controller_->OptionAdded(
197 base::ASCIIToUTF16("a"), 176 base::ASCIIToUTF16("a"),
198 MockChooserController::kNoSignalStrengthLevelImage, 177 MockChooserController::kNoSignalStrengthLevelImage,
199 MockChooserController::ConnectedPairedStatus::CONNECTED | 178 MockChooserController::ConnectedPairedStatus::CONNECTED |
200 MockChooserController::ConnectedPairedStatus::PAIRED); 179 MockChooserController::ConnectedPairedStatus::PAIRED);
201 EXPECT_EQ(1, table_view_.numberOfRows); 180 EXPECT_EQ(1, table_view_.numberOfRows);
202 EXPECT_EQ(1, table_view_.numberOfColumns); 181 EXPECT_EQ(1, table_view_.numberOfColumns);
203 // |table_view_| should be enabled since there is an option. 182 // |table_view_| should be enabled since there is an option.
204 EXPECT_TRUE(table_view_.enabled); 183 EXPECT_TRUE(table_view_.enabled);
205 EXPECT_EQ(-1, table_view_.selectedRow); 184 EXPECT_EQ(-1, table_view_.selectedRow);
206 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey); 185 ExpectRowImageIsConnectedImage(0);
207 ExpectRowTextIs(0, @"a"); 186 ExpectRowTextIs(0, @"a");
208 EXPECT_TRUE(IsRowPaired(0)); 187 EXPECT_TRUE(IsRowPaired(0));
209 EXPECT_FALSE(connect_button_.enabled); 188 EXPECT_FALSE(connect_button_.enabled);
210 EXPECT_TRUE(cancel_button_.enabled); 189 EXPECT_TRUE(cancel_button_.enabled);
211 EXPECT_TRUE(help_button_.enabled); 190 EXPECT_TRUE(help_button_.enabled);
212 191
213 mock_chooser_controller_->OptionAdded( 192 mock_chooser_controller_->OptionAdded(
214 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, 193 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
215 MockChooserController::ConnectedPairedStatus::NONE); 194 MockChooserController::ConnectedPairedStatus::NONE);
216 EXPECT_EQ(2, table_view_.numberOfRows); 195 EXPECT_EQ(2, table_view_.numberOfRows);
217 EXPECT_EQ(1, table_view_.numberOfColumns); 196 EXPECT_EQ(1, table_view_.numberOfColumns);
218 EXPECT_TRUE(table_view_.enabled); 197 EXPECT_TRUE(table_view_.enabled);
219 EXPECT_EQ(-1, table_view_.selectedRow); 198 EXPECT_EQ(-1, table_view_.selectedRow);
220 ExpectSignalStrengthLevelImageIs( 199 ExpectSignalStrengthLevelImageIs(
221 1, MockChooserController::kSignalStrengthLevel0Bar, 200 1, MockChooserController::kSignalStrengthLevel0Bar);
222 MockChooserController::kImageColorUnselected);
223 ExpectRowTextIs(1, @"b"); 201 ExpectRowTextIs(1, @"b");
224 EXPECT_FALSE(IsRowPaired(1)); 202 EXPECT_FALSE(IsRowPaired(1));
225 203
226 mock_chooser_controller_->OptionAdded( 204 mock_chooser_controller_->OptionAdded(
227 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, 205 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
228 MockChooserController::ConnectedPairedStatus::NONE); 206 MockChooserController::ConnectedPairedStatus::NONE);
229 EXPECT_EQ(3, table_view_.numberOfRows); 207 EXPECT_EQ(3, table_view_.numberOfRows);
230 EXPECT_EQ(1, table_view_.numberOfColumns); 208 EXPECT_EQ(1, table_view_.numberOfColumns);
231 EXPECT_TRUE(table_view_.enabled); 209 EXPECT_TRUE(table_view_.enabled);
232 EXPECT_EQ(-1, table_view_.selectedRow); 210 EXPECT_EQ(-1, table_view_.selectedRow);
233 ExpectSignalStrengthLevelImageIs( 211 ExpectSignalStrengthLevelImageIs(
234 2, MockChooserController::kSignalStrengthLevel1Bar, 212 2, MockChooserController::kSignalStrengthLevel1Bar);
235 MockChooserController::kImageColorUnselected);
236 ExpectRowTextIs(2, @"c"); 213 ExpectRowTextIs(2, @"c");
237 EXPECT_FALSE(IsRowPaired(2)); 214 EXPECT_FALSE(IsRowPaired(2));
238 215
239 mock_chooser_controller_->OptionAdded( 216 mock_chooser_controller_->OptionAdded(
240 base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar, 217 base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar,
241 MockChooserController::ConnectedPairedStatus::NONE); 218 MockChooserController::ConnectedPairedStatus::NONE);
242 ExpectSignalStrengthLevelImageIs( 219 ExpectSignalStrengthLevelImageIs(
243 3, MockChooserController::kSignalStrengthLevel2Bar, 220 3, MockChooserController::kSignalStrengthLevel2Bar);
244 MockChooserController::kImageColorUnselected);
245 ExpectRowTextIs(3, @"d"); 221 ExpectRowTextIs(3, @"d");
246 EXPECT_FALSE(IsRowPaired(3)); 222 EXPECT_FALSE(IsRowPaired(3));
247 223
248 mock_chooser_controller_->OptionAdded( 224 mock_chooser_controller_->OptionAdded(
249 base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar, 225 base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar,
250 MockChooserController::ConnectedPairedStatus::NONE); 226 MockChooserController::ConnectedPairedStatus::NONE);
251 ExpectSignalStrengthLevelImageIs( 227 ExpectSignalStrengthLevelImageIs(
252 4, MockChooserController::kSignalStrengthLevel3Bar, 228 4, MockChooserController::kSignalStrengthLevel3Bar);
253 MockChooserController::kImageColorUnselected);
254 ExpectRowTextIs(4, @"e"); 229 ExpectRowTextIs(4, @"e");
255 EXPECT_FALSE(IsRowPaired(4)); 230 EXPECT_FALSE(IsRowPaired(4));
256 231
257 mock_chooser_controller_->OptionAdded( 232 mock_chooser_controller_->OptionAdded(
258 base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar, 233 base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar,
259 MockChooserController::ConnectedPairedStatus::NONE); 234 MockChooserController::ConnectedPairedStatus::NONE);
260 ExpectSignalStrengthLevelImageIs( 235 ExpectSignalStrengthLevelImageIs(
261 5, MockChooserController::kSignalStrengthLevel4Bar, 236 5, MockChooserController::kSignalStrengthLevel4Bar);
262 MockChooserController::kImageColorUnselected);
263 ExpectRowTextIs(5, @"f"); 237 ExpectRowTextIs(5, @"f");
264 EXPECT_FALSE(IsRowPaired(5)); 238 EXPECT_FALSE(IsRowPaired(5));
265 } 239 }
266 240
267 TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) { 241 TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) {
268 CreateChooserDialog(); 242 CreateChooserDialog();
269 243
270 mock_chooser_controller_->OptionAdded( 244 mock_chooser_controller_->OptionAdded(
271 base::ASCIIToUTF16("a"), 245 base::ASCIIToUTF16("a"),
272 MockChooserController::kNoSignalStrengthLevelImage, 246 MockChooserController::kNoSignalStrengthLevelImage,
273 MockChooserController::ConnectedPairedStatus::CONNECTED | 247 MockChooserController::ConnectedPairedStatus::CONNECTED |
274 MockChooserController::ConnectedPairedStatus::PAIRED); 248 MockChooserController::ConnectedPairedStatus::PAIRED);
275 mock_chooser_controller_->OptionAdded( 249 mock_chooser_controller_->OptionAdded(
276 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, 250 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
277 MockChooserController::ConnectedPairedStatus::NONE); 251 MockChooserController::ConnectedPairedStatus::NONE);
278 mock_chooser_controller_->OptionAdded( 252 mock_chooser_controller_->OptionAdded(
279 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, 253 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
280 MockChooserController::ConnectedPairedStatus::NONE); 254 MockChooserController::ConnectedPairedStatus::NONE);
281 255
282 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b")); 256 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
283 EXPECT_EQ(2, table_view_.numberOfRows); 257 EXPECT_EQ(2, table_view_.numberOfRows);
284 EXPECT_EQ(1, table_view_.numberOfColumns); 258 EXPECT_EQ(1, table_view_.numberOfColumns);
285 EXPECT_TRUE(table_view_.enabled); 259 EXPECT_TRUE(table_view_.enabled);
286 EXPECT_EQ(-1, table_view_.selectedRow); 260 EXPECT_EQ(-1, table_view_.selectedRow);
287 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey); 261 ExpectRowImageIsConnectedImage(0);
288 ExpectRowTextIs(0, @"a"); 262 ExpectRowTextIs(0, @"a");
289 EXPECT_TRUE(IsRowPaired(0)); 263 EXPECT_TRUE(IsRowPaired(0));
290 ExpectSignalStrengthLevelImageIs( 264 ExpectSignalStrengthLevelImageIs(
291 1, MockChooserController::kSignalStrengthLevel1Bar, 265 1, MockChooserController::kSignalStrengthLevel1Bar);
292 MockChooserController::kImageColorUnselected);
293 ExpectRowTextIs(1, @"c"); 266 ExpectRowTextIs(1, @"c");
294 EXPECT_FALSE(IsRowPaired(1)); 267 EXPECT_FALSE(IsRowPaired(1));
295 268
296 // Remove a non-existent option, the number of rows should not change. 269 // Remove a non-existent option, the number of rows should not change.
297 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent")); 270 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent"));
298 EXPECT_EQ(2, table_view_.numberOfRows); 271 EXPECT_EQ(2, table_view_.numberOfRows);
299 EXPECT_EQ(1, table_view_.numberOfColumns); 272 EXPECT_EQ(1, table_view_.numberOfColumns);
300 EXPECT_TRUE(table_view_.enabled); 273 EXPECT_TRUE(table_view_.enabled);
301 EXPECT_EQ(-1, table_view_.selectedRow); 274 EXPECT_EQ(-1, table_view_.selectedRow);
302 ExpectRowTextIs(0, @"a"); 275 ExpectRowTextIs(0, @"a");
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 mock_chooser_controller_->OptionUpdated( 314 mock_chooser_controller_->OptionUpdated(
342 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"), 315 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
343 MockChooserController::kNoSignalStrengthLevelImage, 316 MockChooserController::kNoSignalStrengthLevelImage,
344 MockChooserController::ConnectedPairedStatus::CONNECTED | 317 MockChooserController::ConnectedPairedStatus::CONNECTED |
345 MockChooserController::ConnectedPairedStatus::PAIRED); 318 MockChooserController::ConnectedPairedStatus::PAIRED);
346 319
347 EXPECT_EQ(3, table_view_.numberOfRows); 320 EXPECT_EQ(3, table_view_.numberOfRows);
348 EXPECT_EQ(1, table_view_.numberOfColumns); 321 EXPECT_EQ(1, table_view_.numberOfColumns);
349 EXPECT_TRUE(table_view_.enabled); 322 EXPECT_TRUE(table_view_.enabled);
350 EXPECT_EQ(-1, table_view_.selectedRow); 323 EXPECT_EQ(-1, table_view_.selectedRow);
351 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey); 324 ExpectRowImageIsConnectedImage(0);
352 ExpectRowTextIs(0, @"a"); 325 ExpectRowTextIs(0, @"a");
353 EXPECT_TRUE(IsRowPaired(0)); 326 EXPECT_TRUE(IsRowPaired(0));
354 ExpectRowImageIsConnectedImage(1, gfx::kChromeIconGrey); 327 ExpectRowImageIsConnectedImage(1);
355 ExpectRowTextIs(1, @"d"); 328 ExpectRowTextIs(1, @"d");
356 EXPECT_TRUE(IsRowPaired(1)); 329 EXPECT_TRUE(IsRowPaired(1));
357 ExpectSignalStrengthLevelImageIs( 330 ExpectSignalStrengthLevelImageIs(
358 2, MockChooserController::kSignalStrengthLevel1Bar, 331 2, MockChooserController::kSignalStrengthLevel1Bar);
359 MockChooserController::kImageColorUnselected);
360 ExpectRowTextIs(2, @"c"); 332 ExpectRowTextIs(2, @"c");
361 EXPECT_FALSE(IsRowPaired(2)); 333 EXPECT_FALSE(IsRowPaired(2));
362 } 334 }
363 335
364 TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) { 336 TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) {
365 CreateChooserDialog(); 337 CreateChooserDialog();
366 338
367 mock_chooser_controller_->OptionAdded( 339 mock_chooser_controller_->OptionAdded(
368 base::ASCIIToUTF16("a"), 340 base::ASCIIToUTF16("a"),
369 MockChooserController::kNoSignalStrengthLevelImage, 341 MockChooserController::kNoSignalStrengthLevelImage,
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 MockChooserController::kNoSignalStrengthLevelImage, 382 MockChooserController::kNoSignalStrengthLevelImage,
411 MockChooserController::ConnectedPairedStatus::CONNECTED | 383 MockChooserController::ConnectedPairedStatus::CONNECTED |
412 MockChooserController::ConnectedPairedStatus::PAIRED); 384 MockChooserController::ConnectedPairedStatus::PAIRED);
413 385
414 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d")); 386 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
415 387
416 EXPECT_EQ(2, table_view_.numberOfRows); 388 EXPECT_EQ(2, table_view_.numberOfRows);
417 EXPECT_EQ(1, table_view_.numberOfColumns); 389 EXPECT_EQ(1, table_view_.numberOfColumns);
418 EXPECT_TRUE(table_view_.enabled); 390 EXPECT_TRUE(table_view_.enabled);
419 EXPECT_EQ(-1, table_view_.selectedRow); 391 EXPECT_EQ(-1, table_view_.selectedRow);
420 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey); 392 ExpectRowImageIsConnectedImage(0);
421 ExpectRowTextIs(0, @"a"); 393 ExpectRowTextIs(0, @"a");
422 EXPECT_TRUE(IsRowPaired(0)); 394 EXPECT_TRUE(IsRowPaired(0));
423 ExpectSignalStrengthLevelImageIs( 395 ExpectSignalStrengthLevelImageIs(
424 1, MockChooserController::kSignalStrengthLevel1Bar, 396 1, MockChooserController::kSignalStrengthLevel1Bar);
425 MockChooserController::kImageColorUnselected);
426 ExpectRowTextIs(1, @"c"); 397 ExpectRowTextIs(1, @"c");
427 EXPECT_FALSE(IsRowPaired(1)); 398 EXPECT_FALSE(IsRowPaired(1));
428 } 399 }
429 400
430 TEST_F(ChooserDialogCocoaControllerTest,
431 RowImageAndTextChangeColorWhenSelectionChanges) {
432 CreateChooserDialog();
433
434 mock_chooser_controller_->OptionAdded(
435 base::ASCIIToUTF16("a"),
436 MockChooserController::kNoSignalStrengthLevelImage,
437 MockChooserController::ConnectedPairedStatus::CONNECTED |
438 MockChooserController::ConnectedPairedStatus::PAIRED);
439 mock_chooser_controller_->OptionAdded(
440 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
441 MockChooserController::ConnectedPairedStatus::NONE);
442 mock_chooser_controller_->OptionAdded(
443 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
444 MockChooserController::ConnectedPairedStatus::NONE);
445
446 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey);
447 ExpectSignalStrengthLevelImageIs(
448 1, MockChooserController::kSignalStrengthLevel0Bar,
449 MockChooserController::kImageColorUnselected);
450 ExpectSignalStrengthLevelImageIs(
451 2, MockChooserController::kSignalStrengthLevel1Bar,
452 MockChooserController::kImageColorUnselected);
453 ExpectRowTextColorIs(0, [NSColor blackColor]);
454 ExpectRowTextColorIs(1, [NSColor blackColor]);
455 ExpectRowTextColorIs(2, [NSColor blackColor]);
456 ExpectPairedTextColorIs(
457 0, skia::SkColorToCalibratedNSColor(gfx::kGoogleGreen700));
458
459 // Option 0 shows a Bluetooth connected image, the following code tests the
460 // color of that image and text change when the option is selected or
461 // deselected.
462 // Select option 0.
463 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
464 byExtendingSelection:NO];
465 EXPECT_EQ(0, table_view_.selectedRow);
466 ExpectRowImageIsConnectedImage(0, SK_ColorWHITE);
467 ExpectSignalStrengthLevelImageIs(
468 1, MockChooserController::kSignalStrengthLevel0Bar,
469 MockChooserController::kImageColorUnselected);
470 ExpectSignalStrengthLevelImageIs(
471 2, MockChooserController::kSignalStrengthLevel1Bar,
472 MockChooserController::kImageColorUnselected);
473 ExpectRowTextColorIs(0, [NSColor whiteColor]);
474 ExpectRowTextColorIs(1, [NSColor blackColor]);
475 ExpectRowTextColorIs(2, [NSColor blackColor]);
476 ExpectPairedTextColorIs(
477 0, skia::SkColorToCalibratedNSColor(gfx::kGoogleGreen300));
478
479 // Deselect option 0.
480 [table_view_ deselectRow:0];
481 EXPECT_EQ(-1, table_view_.selectedRow);
482 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey);
483 ExpectSignalStrengthLevelImageIs(
484 1, MockChooserController::kSignalStrengthLevel0Bar,
485 MockChooserController::kImageColorUnselected);
486 ExpectSignalStrengthLevelImageIs(
487 2, MockChooserController::kSignalStrengthLevel1Bar,
488 MockChooserController::kImageColorUnselected);
489 ExpectRowTextColorIs(0, [NSColor blackColor]);
490 ExpectRowTextColorIs(1, [NSColor blackColor]);
491 ExpectRowTextColorIs(2, [NSColor blackColor]);
492 ExpectPairedTextColorIs(
493 0, skia::SkColorToCalibratedNSColor(gfx::kGoogleGreen700));
494
495 // Option 1 shows a signal strengh level image, the following code tests the
496 // color of that image and text change when the option is selected or
497 // deselected.
498 // Select option 1.
499 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
500 byExtendingSelection:NO];
501 EXPECT_EQ(1, table_view_.selectedRow);
502 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey);
503 ExpectSignalStrengthLevelImageIs(
504 1, MockChooserController::kSignalStrengthLevel0Bar,
505 MockChooserController::kImageColorSelected);
506 ExpectSignalStrengthLevelImageIs(
507 2, MockChooserController::kSignalStrengthLevel1Bar,
508 MockChooserController::kImageColorUnselected);
509 ExpectRowTextColorIs(0, [NSColor blackColor]);
510 ExpectRowTextColorIs(1, [NSColor whiteColor]);
511 ExpectRowTextColorIs(2, [NSColor blackColor]);
512 ExpectPairedTextColorIs(
513 0, skia::SkColorToCalibratedNSColor(gfx::kGoogleGreen700));
514
515 // Deselect option 1.
516 [table_view_ deselectRow:1];
517 EXPECT_EQ(-1, table_view_.selectedRow);
518 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey);
519 ExpectSignalStrengthLevelImageIs(
520 1, MockChooserController::kSignalStrengthLevel0Bar,
521 MockChooserController::kImageColorUnselected);
522 ExpectSignalStrengthLevelImageIs(
523 2, MockChooserController::kSignalStrengthLevel1Bar,
524 MockChooserController::kImageColorUnselected);
525 ExpectRowTextColorIs(0, [NSColor blackColor]);
526 ExpectRowTextColorIs(1, [NSColor blackColor]);
527 ExpectRowTextColorIs(2, [NSColor blackColor]);
528 ExpectPairedTextColorIs(
529 0, skia::SkColorToCalibratedNSColor(gfx::kGoogleGreen700));
530
531 // The following code tests the color of the image and text change when
532 // selecting another option without deselecting the first.
533 // Select option 0.
534 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
535 byExtendingSelection:NO];
536
537 // Select option 1.
538 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
539 byExtendingSelection:NO];
540 EXPECT_EQ(1, table_view_.selectedRow);
541 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey);
542 ExpectSignalStrengthLevelImageIs(
543 1, MockChooserController::kSignalStrengthLevel0Bar,
544 MockChooserController::kImageColorSelected);
545 ExpectSignalStrengthLevelImageIs(
546 2, MockChooserController::kSignalStrengthLevel1Bar,
547 MockChooserController::kImageColorUnselected);
548 ExpectRowTextColorIs(0, [NSColor blackColor]);
549 ExpectRowTextColorIs(1, [NSColor whiteColor]);
550 ExpectRowTextColorIs(2, [NSColor blackColor]);
551 ExpectPairedTextColorIs(
552 0, skia::SkColorToCalibratedNSColor(gfx::kGoogleGreen700));
553
554 // The following code tests the color of the image and text of a selected
555 // option when it is updated.
556 // Select option 2.
557 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:2]
558 byExtendingSelection:NO];
559
560 // Update option 2 from one signal strength to another.
561 mock_chooser_controller_->OptionUpdated(
562 base::ASCIIToUTF16("c"), base::ASCIIToUTF16("e"),
563 MockChooserController::kSignalStrengthLevel2Bar,
564 MockChooserController::ConnectedPairedStatus::NONE);
565 ExpectSignalStrengthLevelImageIs(
566 2, MockChooserController::kSignalStrengthLevel2Bar,
567 MockChooserController::kImageColorSelected);
568 ExpectRowTextColorIs(0, [NSColor blackColor]);
569 ExpectRowTextColorIs(1, [NSColor blackColor]);
570 ExpectRowTextColorIs(2, [NSColor whiteColor]);
571
572 // Update option 2 again from non-connected and non-paired to connected
573 // and paired.
574 mock_chooser_controller_->OptionUpdated(
575 base::ASCIIToUTF16("e"), base::ASCIIToUTF16("f"),
576 MockChooserController::kNoSignalStrengthLevelImage,
577 MockChooserController::ConnectedPairedStatus::CONNECTED |
578 MockChooserController::ConnectedPairedStatus::PAIRED);
579 ExpectRowImageIsConnectedImage(2, SK_ColorWHITE);
580 ExpectRowTextColorIs(0, [NSColor blackColor]);
581 ExpectRowTextColorIs(1, [NSColor blackColor]);
582 ExpectRowTextColorIs(2, [NSColor whiteColor]);
583 ExpectPairedTextColorIs(
584 2, skia::SkColorToCalibratedNSColor(gfx::kGoogleGreen300));
585 }
586
587 TEST_F(ChooserDialogCocoaControllerTest, SelectAndDeselectAnOption) { 401 TEST_F(ChooserDialogCocoaControllerTest, SelectAndDeselectAnOption) {
588 CreateChooserDialog(); 402 CreateChooserDialog();
589 403
590 mock_chooser_controller_->OptionAdded( 404 mock_chooser_controller_->OptionAdded(
591 base::ASCIIToUTF16("a"), 405 base::ASCIIToUTF16("a"),
592 MockChooserController::kNoSignalStrengthLevelImage, 406 MockChooserController::kNoSignalStrengthLevelImage,
593 MockChooserController::ConnectedPairedStatus::CONNECTED | 407 MockChooserController::ConnectedPairedStatus::CONNECTED |
594 MockChooserController::ConnectedPairedStatus::PAIRED); 408 MockChooserController::ConnectedPairedStatus::PAIRED);
595 mock_chooser_controller_->OptionAdded( 409 mock_chooser_controller_->OptionAdded(
596 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, 410 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
746 byExtendingSelection:NO]; 560 byExtendingSelection:NO];
747 561
748 // Update option 1. 562 // Update option 1.
749 mock_chooser_controller_->OptionUpdated( 563 mock_chooser_controller_->OptionUpdated(
750 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"), 564 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
751 MockChooserController::kNoSignalStrengthLevelImage, 565 MockChooserController::kNoSignalStrengthLevelImage,
752 MockChooserController::ConnectedPairedStatus::CONNECTED | 566 MockChooserController::ConnectedPairedStatus::CONNECTED |
753 MockChooserController::ConnectedPairedStatus::PAIRED); 567 MockChooserController::ConnectedPairedStatus::PAIRED);
754 568
755 EXPECT_EQ(1, table_view_.selectedRow); 569 EXPECT_EQ(1, table_view_.selectedRow);
756 ExpectRowImageIsConnectedImage(0, gfx::kChromeIconGrey); 570 ExpectRowImageIsConnectedImage(0);
757 ExpectRowTextIs(0, @"a"); 571 ExpectRowTextIs(0, @"a");
758 EXPECT_TRUE(IsRowPaired(0)); 572 EXPECT_TRUE(IsRowPaired(0));
759 ExpectRowImageIsConnectedImage(1, SK_ColorWHITE); 573 ExpectRowImageIsConnectedImage(1);
760 ExpectRowTextIs(1, @"d"); 574 ExpectRowTextIs(1, @"d");
761 EXPECT_TRUE(IsRowPaired(1)); 575 EXPECT_TRUE(IsRowPaired(1));
762 ExpectSignalStrengthLevelImageIs( 576 ExpectSignalStrengthLevelImageIs(
763 2, MockChooserController::kSignalStrengthLevel1Bar, 577 2, MockChooserController::kSignalStrengthLevel1Bar);
764 MockChooserController::kImageColorUnselected);
765 ExpectRowTextIs(2, @"c"); 578 ExpectRowTextIs(2, @"c");
766 EXPECT_FALSE(IsRowPaired(2)); 579 EXPECT_FALSE(IsRowPaired(2));
767 EXPECT_TRUE(connect_button_.enabled); 580 EXPECT_TRUE(connect_button_.enabled);
768 } 581 }
769 582
770 TEST_F(ChooserDialogCocoaControllerTest, 583 TEST_F(ChooserDialogCocoaControllerTest,
771 AddAnOptionAndSelectItAndRemoveTheSelectedOption) { 584 AddAnOptionAndSelectItAndRemoveTheSelectedOption) {
772 CreateChooserDialog(); 585 CreateChooserDialog();
773 586
774 mock_chooser_controller_->OptionAdded( 587 mock_chooser_controller_->OptionAdded(
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 mock_chooser_controller_->OptionAdded( 848 mock_chooser_controller_->OptionAdded(
1036 base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar, 849 base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar,
1037 MockChooserController::ConnectedPairedStatus::NONE); 850 MockChooserController::ConnectedPairedStatus::NONE);
1038 EXPECT_FALSE(table_view_.hidden); 851 EXPECT_FALSE(table_view_.hidden);
1039 // |table_view_| should be enabled since there is an option. 852 // |table_view_| should be enabled since there is an option.
1040 EXPECT_TRUE(table_view_.enabled); 853 EXPECT_TRUE(table_view_.enabled);
1041 EXPECT_EQ(1, table_view_.numberOfRows); 854 EXPECT_EQ(1, table_view_.numberOfRows);
1042 // No option selected. 855 // No option selected.
1043 EXPECT_EQ(-1, table_view_.selectedRow); 856 EXPECT_EQ(-1, table_view_.selectedRow);
1044 ExpectSignalStrengthLevelImageIs( 857 ExpectSignalStrengthLevelImageIs(
1045 0, MockChooserController::kSignalStrengthLevel2Bar, 858 0, MockChooserController::kSignalStrengthLevel2Bar);
1046 MockChooserController::kImageColorUnselected);
1047 ExpectRowTextIs(0, @"d"); 859 ExpectRowTextIs(0, @"d");
1048 EXPECT_FALSE(IsRowPaired(0)); 860 EXPECT_FALSE(IsRowPaired(0));
1049 EXPECT_TRUE(spinner_.hidden); 861 EXPECT_TRUE(spinner_.hidden);
1050 EXPECT_FALSE(status_.hidden); 862 EXPECT_FALSE(status_.hidden);
1051 EXPECT_TRUE(rescan_button_.hidden); 863 EXPECT_TRUE(rescan_button_.hidden);
1052 // OK button is disabled since no option is selected. 864 // OK button is disabled since no option is selected.
1053 EXPECT_FALSE(connect_button_.enabled); 865 EXPECT_FALSE(connect_button_.enabled);
1054 EXPECT_TRUE(cancel_button_.enabled); 866 EXPECT_TRUE(cancel_button_.enabled);
1055 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 867 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
1056 byExtendingSelection:NO]; 868 byExtendingSelection:NO];
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1096 MockChooserController::ConnectedPairedStatus::NONE); 908 MockChooserController::ConnectedPairedStatus::NONE);
1097 909
1098 // Select option 0 and press "Get help" button. 910 // Select option 0 and press "Get help" button.
1099 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 911 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
1100 byExtendingSelection:NO]; 912 byExtendingSelection:NO];
1101 EXPECT_CALL(*mock_chooser_controller_, Select(testing::_)).Times(0); 913 EXPECT_CALL(*mock_chooser_controller_, Select(testing::_)).Times(0);
1102 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0); 914 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0);
1103 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1); 915 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1);
1104 [help_button_ performClick:chooser_dialog_controller_]; 916 [help_button_ performClick:chooser_dialog_controller_];
1105 } 917 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698