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

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

Issue 2256453002: Update test code to check what is displayed in chooser's table view (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 4 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
« no previous file with comments | « no previous file | chrome/browser/ui/views/chooser_content_view_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/sys_string_conversions.h"
13 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
14 #include "chrome/browser/chooser_controller/mock_chooser_controller.h" 13 #include "chrome/browser/chooser_controller/mock_chooser_controller.h"
15 #import "chrome/browser/ui/cocoa/chooser_content_view_cocoa.h" 14 #import "chrome/browser/ui/cocoa/chooser_content_view_cocoa.h"
16 #import "chrome/browser/ui/cocoa/cocoa_profile_test.h" 15 #import "chrome/browser/ui/cocoa/cocoa_profile_test.h"
17 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h" 16 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h"
18 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa.h" 17 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa.h"
19 #include "chrome/browser/ui/cocoa/spinner_view.h" 18 #include "chrome/browser/ui/cocoa/spinner_view.h"
19 #include "chrome/grit/generated_resources.h"
20 #include "testing/gmock/include/gmock/gmock.h" 20 #include "testing/gmock/include/gmock/gmock.h"
21 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
22 #include "testing/gtest_mac.h" 22 #include "testing/gtest_mac.h"
23 #include "ui/base/l10n/l10n_util_mac.h"
23 24
24 class ChooserDialogCocoaControllerTest : public CocoaProfileTest { 25 class ChooserDialogCocoaControllerTest : public CocoaProfileTest {
25 protected: 26 protected:
26 ChooserDialogCocoaControllerTest() {} 27 ChooserDialogCocoaControllerTest() {}
27 ~ChooserDialogCocoaControllerTest() override {} 28 ~ChooserDialogCocoaControllerTest() override {}
28 29
29 void SetUp() override { 30 void SetUp() override {
30 CocoaProfileTest::SetUp(); 31 CocoaProfileTest::SetUp();
31 ASSERT_TRUE(browser()); 32 ASSERT_TRUE(browser());
32 } 33 }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 DISALLOW_COPY_AND_ASSIGN(ChooserDialogCocoaControllerTest); 83 DISALLOW_COPY_AND_ASSIGN(ChooserDialogCocoaControllerTest);
83 }; 84 };
84 85
85 TEST_F(ChooserDialogCocoaControllerTest, InitialState) { 86 TEST_F(ChooserDialogCocoaControllerTest, InitialState) {
86 CreateChooserDialog(); 87 CreateChooserDialog();
87 88
88 // Since "No devices found." needs to be displayed on the |table_view_|, 89 // Since "No devices found." needs to be displayed on the |table_view_|,
89 // the number of rows is 1. 90 // the number of rows is 1.
90 EXPECT_EQ(1, table_view_.numberOfRows); 91 EXPECT_EQ(1, table_view_.numberOfRows);
91 EXPECT_EQ(1, table_view_.numberOfColumns); 92 EXPECT_EQ(1, table_view_.numberOfColumns);
93 EXPECT_NSEQ(
94 l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
95 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
92 // |table_view_| should be disabled since there is no option shown. 96 // |table_view_| should be disabled since there is no option shown.
93 ASSERT_FALSE(table_view_.enabled); 97 ASSERT_FALSE(table_view_.enabled);
94 // No option selected. 98 // No option selected.
95 EXPECT_EQ(-1, table_view_.selectedRow); 99 EXPECT_EQ(-1, table_view_.selectedRow);
96 // |connect_button_| should be disabled since no option selected. 100 // |connect_button_| should be disabled since no option selected.
97 ASSERT_FALSE(connect_button_.enabled); 101 ASSERT_FALSE(connect_button_.enabled);
98 ASSERT_TRUE(cancel_button_.enabled); 102 ASSERT_TRUE(cancel_button_.enabled);
99 ASSERT_TRUE(help_button_.enabled); 103 ASSERT_TRUE(help_button_.enabled);
100 } 104 }
101 105
102 TEST_F(ChooserDialogCocoaControllerTest, AddOption) { 106 TEST_F(ChooserDialogCocoaControllerTest, AddOption) {
103 CreateChooserDialog(); 107 CreateChooserDialog();
104 108
105 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 109 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
106 EXPECT_EQ(1, table_view_.numberOfRows); 110 EXPECT_EQ(1, table_view_.numberOfRows);
107 EXPECT_EQ(1, table_view_.numberOfColumns); 111 EXPECT_EQ(1, table_view_.numberOfColumns);
108 // |table_view_| should be enabled since there is an option. 112 // |table_view_| should be enabled since there is an option.
109 ASSERT_TRUE(table_view_.enabled); 113 ASSERT_TRUE(table_view_.enabled);
110 EXPECT_EQ(-1, table_view_.selectedRow); 114 EXPECT_EQ(-1, table_view_.selectedRow);
115 EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
111 ASSERT_FALSE(connect_button_.enabled); 116 ASSERT_FALSE(connect_button_.enabled);
112 ASSERT_TRUE(cancel_button_.enabled); 117 ASSERT_TRUE(cancel_button_.enabled);
113 ASSERT_TRUE(help_button_.enabled); 118 ASSERT_TRUE(help_button_.enabled);
114 119
115 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 120 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
116 EXPECT_EQ(2, table_view_.numberOfRows); 121 EXPECT_EQ(2, table_view_.numberOfRows);
117 EXPECT_EQ(1, table_view_.numberOfColumns); 122 EXPECT_EQ(1, table_view_.numberOfColumns);
118 ASSERT_TRUE(table_view_.enabled); 123 ASSERT_TRUE(table_view_.enabled);
119 EXPECT_EQ(-1, table_view_.selectedRow); 124 EXPECT_EQ(-1, table_view_.selectedRow);
125 EXPECT_NSEQ(@"b", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
120 126
121 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 127 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
122 EXPECT_EQ(3, table_view_.numberOfRows); 128 EXPECT_EQ(3, table_view_.numberOfRows);
123 EXPECT_EQ(1, table_view_.numberOfColumns); 129 EXPECT_EQ(1, table_view_.numberOfColumns);
124 ASSERT_TRUE(table_view_.enabled); 130 ASSERT_TRUE(table_view_.enabled);
125 EXPECT_EQ(-1, table_view_.selectedRow); 131 EXPECT_EQ(-1, table_view_.selectedRow);
132 EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:2] stringValue]);
126 } 133 }
127 134
128 TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) { 135 TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) {
129 CreateChooserDialog(); 136 CreateChooserDialog();
130 137
131 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 138 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
132 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 139 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
133 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 140 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
134 141
135 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b")); 142 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
136 EXPECT_EQ(2, table_view_.numberOfRows); 143 EXPECT_EQ(2, table_view_.numberOfRows);
137 EXPECT_EQ(1, table_view_.numberOfColumns); 144 EXPECT_EQ(1, table_view_.numberOfColumns);
138 ASSERT_TRUE(table_view_.enabled); 145 ASSERT_TRUE(table_view_.enabled);
139 EXPECT_EQ(-1, table_view_.selectedRow); 146 EXPECT_EQ(-1, table_view_.selectedRow);
147 EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
148 EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
140 149
141 // Remove a non-existent option, the number of rows should not change. 150 // Remove a non-existent option, the number of rows should not change.
142 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent")); 151 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent"));
143 EXPECT_EQ(2, table_view_.numberOfRows); 152 EXPECT_EQ(2, table_view_.numberOfRows);
144 EXPECT_EQ(1, table_view_.numberOfColumns); 153 EXPECT_EQ(1, table_view_.numberOfColumns);
145 ASSERT_TRUE(table_view_.enabled); 154 ASSERT_TRUE(table_view_.enabled);
146 EXPECT_EQ(-1, table_view_.selectedRow); 155 EXPECT_EQ(-1, table_view_.selectedRow);
156 EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
157 EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
147 158
148 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c")); 159 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
149 EXPECT_EQ(1, table_view_.numberOfRows); 160 EXPECT_EQ(1, table_view_.numberOfRows);
150 EXPECT_EQ(1, table_view_.numberOfColumns); 161 EXPECT_EQ(1, table_view_.numberOfColumns);
151 ASSERT_TRUE(table_view_.enabled); 162 ASSERT_TRUE(table_view_.enabled);
152 EXPECT_EQ(-1, table_view_.selectedRow); 163 EXPECT_EQ(-1, table_view_.selectedRow);
164 EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
153 165
154 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a")); 166 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
155 // There is no option shown now. But since "No devices found." 167 // There is no option shown now. But since "No devices found."
156 // needs to be displayed on the |table_view_|, the number of rows is 1. 168 // needs to be displayed on the |table_view_|, the number of rows is 1.
157 EXPECT_EQ(1, table_view_.numberOfRows); 169 EXPECT_EQ(1, table_view_.numberOfRows);
158 EXPECT_EQ(1, table_view_.numberOfColumns); 170 EXPECT_EQ(1, table_view_.numberOfColumns);
159 // |table_view_| should be disabled since all options are removed. 171 // |table_view_| should be disabled since all options are removed.
160 ASSERT_FALSE(table_view_.enabled); 172 ASSERT_FALSE(table_view_.enabled);
161 EXPECT_EQ(-1, table_view_.selectedRow); 173 EXPECT_EQ(-1, table_view_.selectedRow);
174 EXPECT_NSEQ(
175 l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
176 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
162 } 177 }
163 178
164 TEST_F(ChooserDialogCocoaControllerTest, UpdateOption) { 179 TEST_F(ChooserDialogCocoaControllerTest, UpdateOption) {
165 CreateChooserDialog(); 180 CreateChooserDialog();
166 181
167 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 182 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
168 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 183 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
169 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 184 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
170 185
171 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), 186 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"),
172 base::ASCIIToUTF16("d")); 187 base::ASCIIToUTF16("d"));
173 188
174 EXPECT_EQ(3, table_view_.numberOfRows); 189 EXPECT_EQ(3, table_view_.numberOfRows);
175 EXPECT_EQ(1, table_view_.numberOfColumns); 190 EXPECT_EQ(1, table_view_.numberOfColumns);
176 ASSERT_TRUE(table_view_.enabled); 191 ASSERT_TRUE(table_view_.enabled);
177 EXPECT_EQ(-1, table_view_.selectedRow); 192 EXPECT_EQ(-1, table_view_.selectedRow);
178 193 EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
179 NSCell* cell = [table_view_ preparedCellAtColumn:0 row:1]; 194 EXPECT_NSEQ(@"d", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
180 EXPECT_EQ(base::ASCIIToUTF16("d"), 195 EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:2] stringValue]);
181 base::SysNSStringToUTF16([cell stringValue]));
182 } 196 }
183 197
184 TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) { 198 TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) {
185 CreateChooserDialog(); 199 CreateChooserDialog();
186 200
187 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 201 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
188 EXPECT_EQ(1, table_view_.numberOfRows); 202 EXPECT_EQ(1, table_view_.numberOfRows);
189 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 203 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
190 EXPECT_EQ(2, table_view_.numberOfRows); 204 EXPECT_EQ(2, table_view_.numberOfRows);
191 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b")); 205 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
(...skipping 17 matching lines...) Expand all
209 223
210 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), 224 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"),
211 base::ASCIIToUTF16("d")); 225 base::ASCIIToUTF16("d"));
212 226
213 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d")); 227 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
214 228
215 EXPECT_EQ(2, table_view_.numberOfRows); 229 EXPECT_EQ(2, table_view_.numberOfRows);
216 EXPECT_EQ(1, table_view_.numberOfColumns); 230 EXPECT_EQ(1, table_view_.numberOfColumns);
217 ASSERT_TRUE(table_view_.enabled); 231 ASSERT_TRUE(table_view_.enabled);
218 EXPECT_EQ(-1, table_view_.selectedRow); 232 EXPECT_EQ(-1, table_view_.selectedRow);
219 233 EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
220 NSCell* cell_a = [table_view_ preparedCellAtColumn:0 row:0]; 234 EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
221 EXPECT_EQ(base::ASCIIToUTF16("a"),
222 base::SysNSStringToUTF16([cell_a stringValue]));
223
224 NSCell* cell_c = [table_view_ preparedCellAtColumn:0 row:1];
225 EXPECT_EQ(base::ASCIIToUTF16("c"),
226 base::SysNSStringToUTF16([cell_c stringValue]));
227 } 235 }
228 236
229 TEST_F(ChooserDialogCocoaControllerTest, SelectAndDeselectAnOption) { 237 TEST_F(ChooserDialogCocoaControllerTest, SelectAndDeselectAnOption) {
230 CreateChooserDialog(); 238 CreateChooserDialog();
231 239
232 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 240 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
233 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 241 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
234 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 242 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
235 243
236 // Select option 0. 244 // Select option 0.
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 353
346 // Select option 1. 354 // Select option 1.
347 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1] 355 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
348 byExtendingSelection:NO]; 356 byExtendingSelection:NO];
349 357
350 // Update option 1. 358 // Update option 1.
351 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), 359 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"),
352 base::ASCIIToUTF16("d")); 360 base::ASCIIToUTF16("d"));
353 361
354 EXPECT_EQ(1, table_view_.selectedRow); 362 EXPECT_EQ(1, table_view_.selectedRow);
363 EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
364 EXPECT_NSEQ(@"d", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
365 EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:2] stringValue]);
355 ASSERT_TRUE(connect_button_.enabled); 366 ASSERT_TRUE(connect_button_.enabled);
356
357 NSCell* cell = [table_view_ preparedCellAtColumn:0 row:1];
358 EXPECT_EQ(base::ASCIIToUTF16("d"),
359 base::SysNSStringToUTF16([cell stringValue]));
360 } 367 }
361 368
362 TEST_F(ChooserDialogCocoaControllerTest, 369 TEST_F(ChooserDialogCocoaControllerTest,
363 AddAnOptionAndSelectItAndRemoveTheSelectedOption) { 370 AddAnOptionAndSelectItAndRemoveTheSelectedOption) {
364 CreateChooserDialog(); 371 CreateChooserDialog();
365 372
366 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 373 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
367 374
368 // Select option 0. 375 // Select option 0.
369 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 376 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
370 byExtendingSelection:NO]; 377 byExtendingSelection:NO];
371 EXPECT_EQ(1, table_view_.numberOfRows); 378 EXPECT_EQ(1, table_view_.numberOfRows);
372 EXPECT_EQ(0, table_view_.selectedRow); 379 EXPECT_EQ(0, table_view_.selectedRow);
373 ASSERT_TRUE(connect_button_.enabled); 380 ASSERT_TRUE(connect_button_.enabled);
374 381
375 // Remove option 0. 382 // Remove option 0.
376 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a")); 383 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
377 // There is no option shown now. But since "No devices found." 384 // There is no option shown now. But since "No devices found."
378 // needs to be displayed on the |table_view_|, the number of rows is 1. 385 // needs to be displayed on the |table_view_|, the number of rows is 1.
379 EXPECT_EQ(1, table_view_.numberOfRows); 386 EXPECT_EQ(1, table_view_.numberOfRows);
380 // No option selected. 387 // No option selected.
381 EXPECT_EQ(-1, table_view_.selectedRow); 388 EXPECT_EQ(-1, table_view_.selectedRow);
382 // |table_view_| should be disabled since there is no option shown. 389 // |table_view_| should be disabled since there is no option shown.
383 ASSERT_FALSE(table_view_.enabled); 390 ASSERT_FALSE(table_view_.enabled);
391 EXPECT_NSEQ(
392 l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
393 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
384 // Since no option selected, the "Connect" button should be disabled. 394 // Since no option selected, the "Connect" button should be disabled.
385 ASSERT_FALSE(connect_button_.enabled); 395 ASSERT_FALSE(connect_button_.enabled);
386 } 396 }
387 397
388 TEST_F(ChooserDialogCocoaControllerTest, NoOptionSelectedAndPressCancelButton) { 398 TEST_F(ChooserDialogCocoaControllerTest, NoOptionSelectedAndPressCancelButton) {
389 CreateChooserDialog(); 399 CreateChooserDialog();
390 400
391 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 401 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
392 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 402 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
393 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 403 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 chooser_controller_->OnAdapterPresenceChanged( 450 chooser_controller_->OnAdapterPresenceChanged(
441 content::BluetoothChooser::AdapterPresence::POWERED_ON); 451 content::BluetoothChooser::AdapterPresence::POWERED_ON);
442 EXPECT_FALSE(table_view_.hidden); 452 EXPECT_FALSE(table_view_.hidden);
443 // There is no option shown now. But since "No devices found." 453 // There is no option shown now. But since "No devices found."
444 // needs to be displayed on the |table_view_|, the number of rows is 1. 454 // needs to be displayed on the |table_view_|, the number of rows is 1.
445 EXPECT_EQ(1, table_view_.numberOfRows); 455 EXPECT_EQ(1, table_view_.numberOfRows);
446 // |table_view_| should be disabled since there is no option shown. 456 // |table_view_| should be disabled since there is no option shown.
447 ASSERT_FALSE(table_view_.enabled); 457 ASSERT_FALSE(table_view_.enabled);
448 // No option selected. 458 // No option selected.
449 EXPECT_EQ(-1, table_view_.selectedRow); 459 EXPECT_EQ(-1, table_view_.selectedRow);
460 EXPECT_NSEQ(
461 l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
462 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
450 EXPECT_TRUE(spinner_.hidden); 463 EXPECT_TRUE(spinner_.hidden);
451 EXPECT_TRUE(status_.hidden); 464 EXPECT_TRUE(status_.hidden);
452 EXPECT_FALSE(rescan_button_.hidden); 465 EXPECT_FALSE(rescan_button_.hidden);
453 ASSERT_FALSE(connect_button_.enabled); 466 ASSERT_FALSE(connect_button_.enabled);
454 ASSERT_TRUE(cancel_button_.enabled); 467 ASSERT_TRUE(cancel_button_.enabled);
455 468
456 // Add options 469 // Add options
457 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 470 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
458 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 471 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
459 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 472 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
460 ASSERT_TRUE(table_view_.enabled); 473 ASSERT_TRUE(table_view_.enabled);
461 EXPECT_EQ(3, table_view_.numberOfRows); 474 EXPECT_EQ(3, table_view_.numberOfRows);
462 // Select option 1. 475 // Select option 1.
463 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1] 476 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
464 byExtendingSelection:NO]; 477 byExtendingSelection:NO];
465 EXPECT_EQ(1, table_view_.selectedRow); 478 EXPECT_EQ(1, table_view_.selectedRow);
466 ASSERT_TRUE(connect_button_.enabled); 479 ASSERT_TRUE(connect_button_.enabled);
467 ASSERT_TRUE(cancel_button_.enabled); 480 ASSERT_TRUE(cancel_button_.enabled);
468 481
469 chooser_controller_->OnAdapterPresenceChanged( 482 chooser_controller_->OnAdapterPresenceChanged(
470 content::BluetoothChooser::AdapterPresence::POWERED_OFF); 483 content::BluetoothChooser::AdapterPresence::POWERED_OFF);
471 EXPECT_FALSE(table_view_.hidden); 484 EXPECT_FALSE(table_view_.hidden);
472 // Since "Bluetooth turned off." needs to be displayed on the |table_view_|, 485 // Since "Bluetooth turned off." needs to be displayed on the |table_view_|,
473 // the number of rows is 1. 486 // the number of rows is 1.
474 EXPECT_EQ(1, table_view_.numberOfRows); 487 EXPECT_EQ(1, table_view_.numberOfRows);
475 // |table_view_| should be disabled since there is no option shown. 488 // |table_view_| should be disabled since there is no option shown.
476 EXPECT_FALSE(table_view_.enabled); 489 EXPECT_FALSE(table_view_.enabled);
477 // No option selected. 490 // No option selected.
478 EXPECT_EQ(-1, table_view_.selectedRow); 491 EXPECT_EQ(-1, table_view_.selectedRow);
492 EXPECT_NSEQ(l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF),
493 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
479 EXPECT_TRUE(spinner_.hidden); 494 EXPECT_TRUE(spinner_.hidden);
480 EXPECT_TRUE(status_.hidden); 495 EXPECT_TRUE(status_.hidden);
481 EXPECT_TRUE(rescan_button_.hidden); 496 EXPECT_TRUE(rescan_button_.hidden);
482 // Since the adapter is turned off, the previously selected option 497 // Since the adapter is turned off, the previously selected option
483 // becomes invalid, the OK button is disabled. 498 // becomes invalid, the OK button is disabled.
484 EXPECT_EQ(0u, chooser_controller_->NumOptions()); 499 EXPECT_EQ(0u, chooser_controller_->NumOptions());
485 ASSERT_FALSE(connect_button_.enabled); 500 ASSERT_FALSE(connect_button_.enabled);
486 ASSERT_TRUE(cancel_button_.enabled); 501 ASSERT_TRUE(cancel_button_.enabled);
487 502
488 chooser_controller_->OnAdapterPresenceChanged( 503 chooser_controller_->OnAdapterPresenceChanged(
489 content::BluetoothChooser::AdapterPresence::POWERED_ON); 504 content::BluetoothChooser::AdapterPresence::POWERED_ON);
505 EXPECT_NSEQ(
506 l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
507 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
490 EXPECT_EQ(0u, chooser_controller_->NumOptions()); 508 EXPECT_EQ(0u, chooser_controller_->NumOptions());
491 ASSERT_FALSE(connect_button_.enabled); 509 ASSERT_FALSE(connect_button_.enabled);
492 ASSERT_TRUE(cancel_button_.enabled); 510 ASSERT_TRUE(cancel_button_.enabled);
493 } 511 }
494 512
495 TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) { 513 TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) {
496 CreateChooserDialog(); 514 CreateChooserDialog();
497 515
498 // Add options 516 // Add options
499 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 517 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
(...skipping 25 matching lines...) Expand all
525 chooser_controller_->OnDiscoveryStateChanged( 543 chooser_controller_->OnDiscoveryStateChanged(
526 content::BluetoothChooser::DiscoveryState::IDLE); 544 content::BluetoothChooser::DiscoveryState::IDLE);
527 EXPECT_FALSE(table_view_.hidden); 545 EXPECT_FALSE(table_view_.hidden);
528 // There is no option shown now. But since "No devices found." 546 // There is no option shown now. But since "No devices found."
529 // needs to be displayed on the |table_view_|, the number of rows is 1. 547 // needs to be displayed on the |table_view_|, the number of rows is 1.
530 EXPECT_EQ(1, table_view_.numberOfRows); 548 EXPECT_EQ(1, table_view_.numberOfRows);
531 // |table_view_| should be disabled since there is no option shown. 549 // |table_view_| should be disabled since there is no option shown.
532 ASSERT_FALSE(table_view_.enabled); 550 ASSERT_FALSE(table_view_.enabled);
533 // No option selected. 551 // No option selected.
534 EXPECT_EQ(-1, table_view_.selectedRow); 552 EXPECT_EQ(-1, table_view_.selectedRow);
553 EXPECT_NSEQ(
554 l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
555 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
535 EXPECT_TRUE(spinner_.hidden); 556 EXPECT_TRUE(spinner_.hidden);
536 EXPECT_TRUE(status_.hidden); 557 EXPECT_TRUE(status_.hidden);
537 EXPECT_FALSE(rescan_button_.hidden); 558 EXPECT_FALSE(rescan_button_.hidden);
538 // OK button is disabled since the chooser refreshed options. 559 // OK button is disabled since the chooser refreshed options.
539 ASSERT_FALSE(connect_button_.enabled); 560 ASSERT_FALSE(connect_button_.enabled);
540 ASSERT_TRUE(cancel_button_.enabled); 561 ASSERT_TRUE(cancel_button_.enabled);
541 } 562 }
542 563
543 TEST_F(ChooserDialogCocoaControllerTest, 564 TEST_F(ChooserDialogCocoaControllerTest,
544 DiscoveringAndOneOptionAddedAndSelectedAndIdle) { 565 DiscoveringAndOneOptionAddedAndSelectedAndIdle) {
545 CreateChooserDialog(); 566 CreateChooserDialog();
546 567
547 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 568 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
548 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 569 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
549 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 570 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
550 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1] 571 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
551 byExtendingSelection:NO]; 572 byExtendingSelection:NO];
552 573
553 chooser_controller_->OnDiscoveryStateChanged( 574 chooser_controller_->OnDiscoveryStateChanged(
554 content::BluetoothChooser::DiscoveryState::DISCOVERING); 575 content::BluetoothChooser::DiscoveryState::DISCOVERING);
555 chooser_controller_->OptionAdded(base::ASCIIToUTF16("d")); 576 chooser_controller_->OptionAdded(base::ASCIIToUTF16("d"));
556 EXPECT_FALSE(table_view_.hidden); 577 EXPECT_FALSE(table_view_.hidden);
557 // |table_view_| should be enabled since there is an option. 578 // |table_view_| should be enabled since there is an option.
558 ASSERT_TRUE(table_view_.enabled); 579 ASSERT_TRUE(table_view_.enabled);
559 EXPECT_EQ(1, table_view_.numberOfRows); 580 EXPECT_EQ(1, table_view_.numberOfRows);
560 // No option selected. 581 // No option selected.
561 EXPECT_EQ(-1, table_view_.selectedRow); 582 EXPECT_EQ(-1, table_view_.selectedRow);
583 EXPECT_NSEQ(@"d", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
562 EXPECT_TRUE(spinner_.hidden); 584 EXPECT_TRUE(spinner_.hidden);
563 EXPECT_FALSE(status_.hidden); 585 EXPECT_FALSE(status_.hidden);
564 EXPECT_TRUE(rescan_button_.hidden); 586 EXPECT_TRUE(rescan_button_.hidden);
565 // OK button is disabled since no option is selected. 587 // OK button is disabled since no option is selected.
566 ASSERT_FALSE(connect_button_.enabled); 588 ASSERT_FALSE(connect_button_.enabled);
567 ASSERT_TRUE(cancel_button_.enabled); 589 ASSERT_TRUE(cancel_button_.enabled);
568 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 590 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
569 byExtendingSelection:NO]; 591 byExtendingSelection:NO];
570 EXPECT_EQ(0, table_view_.selectedRow); 592 EXPECT_EQ(0, table_view_.selectedRow);
571 ASSERT_TRUE(connect_button_.enabled); 593 ASSERT_TRUE(connect_button_.enabled);
572 ASSERT_TRUE(cancel_button_.enabled); 594 ASSERT_TRUE(cancel_button_.enabled);
573 595
574 chooser_controller_->OnDiscoveryStateChanged( 596 chooser_controller_->OnDiscoveryStateChanged(
575 content::BluetoothChooser::DiscoveryState::IDLE); 597 content::BluetoothChooser::DiscoveryState::IDLE);
576 EXPECT_FALSE(table_view_.hidden); 598 EXPECT_FALSE(table_view_.hidden);
577 ASSERT_TRUE(table_view_.enabled); 599 ASSERT_TRUE(table_view_.enabled);
578 EXPECT_EQ(1, table_view_.numberOfRows); 600 EXPECT_EQ(1, table_view_.numberOfRows);
579 EXPECT_EQ(0, table_view_.selectedRow); 601 EXPECT_EQ(0, table_view_.selectedRow);
602 EXPECT_NSEQ(@"d", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
580 EXPECT_TRUE(spinner_.hidden); 603 EXPECT_TRUE(spinner_.hidden);
581 EXPECT_TRUE(status_.hidden); 604 EXPECT_TRUE(status_.hidden);
582 EXPECT_FALSE(rescan_button_.hidden); 605 EXPECT_FALSE(rescan_button_.hidden);
583 ASSERT_TRUE(connect_button_.enabled); 606 ASSERT_TRUE(connect_button_.enabled);
584 ASSERT_TRUE(cancel_button_.enabled); 607 ASSERT_TRUE(cancel_button_.enabled);
585 } 608 }
586 609
587 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) { 610 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) {
588 CreateChooserDialog(); 611 CreateChooserDialog();
589 612
590 EXPECT_CALL(*chooser_controller_, RefreshOptions()).Times(1); 613 EXPECT_CALL(*chooser_controller_, RefreshOptions()).Times(1);
591 [rescan_button_ performClick:chooser_dialog_controller_]; 614 [rescan_button_ performClick:chooser_dialog_controller_];
592 } 615 }
593 616
594 TEST_F(ChooserDialogCocoaControllerTest, PressHelpButton) { 617 TEST_F(ChooserDialogCocoaControllerTest, PressHelpButton) {
595 CreateChooserDialog(); 618 CreateChooserDialog();
596 619
597 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 620 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
598 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 621 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
599 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 622 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
600 623
601 // Select option 0 and press "Get help" button. 624 // Select option 0 and press "Get help" button.
602 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 625 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
603 byExtendingSelection:NO]; 626 byExtendingSelection:NO];
604 EXPECT_CALL(*chooser_controller_, Select(testing::_)).Times(0); 627 EXPECT_CALL(*chooser_controller_, Select(testing::_)).Times(0);
605 EXPECT_CALL(*chooser_controller_, Cancel()).Times(0); 628 EXPECT_CALL(*chooser_controller_, Cancel()).Times(0);
606 EXPECT_CALL(*chooser_controller_, OpenHelpCenterUrl()).Times(1); 629 EXPECT_CALL(*chooser_controller_, OpenHelpCenterUrl()).Times(1);
607 [help_button_ performClick:chooser_dialog_controller_]; 630 [help_button_ performClick:chooser_dialog_controller_];
608 } 631 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/views/chooser_content_view_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698