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

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: updated test code to check what is displayed in chooser's table view 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" 12 #include "base/strings/sys_string_conversions.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "chrome/browser/chooser_controller/mock_chooser_controller.h" 14 #include "chrome/browser/chooser_controller/mock_chooser_controller.h"
15 #import "chrome/browser/ui/cocoa/chooser_content_view_cocoa.h" 15 #import "chrome/browser/ui/cocoa/chooser_content_view_cocoa.h"
16 #import "chrome/browser/ui/cocoa/cocoa_profile_test.h" 16 #import "chrome/browser/ui/cocoa/cocoa_profile_test.h"
17 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h" 17 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h"
18 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa.h" 18 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa.h"
19 #include "chrome/browser/ui/cocoa/spinner_view.h" 19 #include "chrome/browser/ui/cocoa/spinner_view.h"
20 #include "chrome/grit/generated_resources.h"
20 #include "testing/gmock/include/gmock/gmock.h" 21 #include "testing/gmock/include/gmock/gmock.h"
21 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
22 #include "testing/gtest_mac.h" 23 #include "testing/gtest_mac.h"
24 #include "ui/base/l10n/l10n_util.h"
23 25
24 class ChooserDialogCocoaControllerTest : public CocoaProfileTest { 26 class ChooserDialogCocoaControllerTest : public CocoaProfileTest {
25 protected: 27 protected:
26 ChooserDialogCocoaControllerTest() {} 28 ChooserDialogCocoaControllerTest() {}
27 ~ChooserDialogCocoaControllerTest() override {} 29 ~ChooserDialogCocoaControllerTest() override {}
28 30
29 void SetUp() override { 31 void SetUp() override {
30 CocoaProfileTest::SetUp(); 32 CocoaProfileTest::SetUp();
31 ASSERT_TRUE(browser()); 33 ASSERT_TRUE(browser());
32 } 34 }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 DISALLOW_COPY_AND_ASSIGN(ChooserDialogCocoaControllerTest); 84 DISALLOW_COPY_AND_ASSIGN(ChooserDialogCocoaControllerTest);
83 }; 85 };
84 86
85 TEST_F(ChooserDialogCocoaControllerTest, InitialState) { 87 TEST_F(ChooserDialogCocoaControllerTest, InitialState) {
86 CreateChooserDialog(); 88 CreateChooserDialog();
87 89
88 // Since "No devices found." needs to be displayed on the |table_view_|, 90 // Since "No devices found." needs to be displayed on the |table_view_|,
89 // the number of rows is 1. 91 // the number of rows is 1.
90 EXPECT_EQ(1, table_view_.numberOfRows); 92 EXPECT_EQ(1, table_view_.numberOfRows);
91 EXPECT_EQ(1, table_view_.numberOfColumns); 93 EXPECT_EQ(1, table_view_.numberOfColumns);
94 EXPECT_EQ(
Robert Sesek 2016/08/16 22:30:17 How about: EXPECT_NSEQ(l10n_util::GetStringNSStr
juncai 2016/08/16 23:03:21 Done.
95 l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
96 base::SysNSStringToUTF16(
97 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
92 // |table_view_| should be disabled since there is no option shown. 98 // |table_view_| should be disabled since there is no option shown.
93 ASSERT_FALSE(table_view_.enabled); 99 ASSERT_FALSE(table_view_.enabled);
94 // No option selected. 100 // No option selected.
95 EXPECT_EQ(-1, table_view_.selectedRow); 101 EXPECT_EQ(-1, table_view_.selectedRow);
96 // |connect_button_| should be disabled since no option selected. 102 // |connect_button_| should be disabled since no option selected.
97 ASSERT_FALSE(connect_button_.enabled); 103 ASSERT_FALSE(connect_button_.enabled);
98 ASSERT_TRUE(cancel_button_.enabled); 104 ASSERT_TRUE(cancel_button_.enabled);
99 ASSERT_TRUE(help_button_.enabled); 105 ASSERT_TRUE(help_button_.enabled);
100 } 106 }
101 107
102 TEST_F(ChooserDialogCocoaControllerTest, AddOption) { 108 TEST_F(ChooserDialogCocoaControllerTest, AddOption) {
103 CreateChooserDialog(); 109 CreateChooserDialog();
104 110
105 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 111 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
106 EXPECT_EQ(1, table_view_.numberOfRows); 112 EXPECT_EQ(1, table_view_.numberOfRows);
107 EXPECT_EQ(1, table_view_.numberOfColumns); 113 EXPECT_EQ(1, table_view_.numberOfColumns);
108 // |table_view_| should be enabled since there is an option. 114 // |table_view_| should be enabled since there is an option.
109 ASSERT_TRUE(table_view_.enabled); 115 ASSERT_TRUE(table_view_.enabled);
110 EXPECT_EQ(-1, table_view_.selectedRow); 116 EXPECT_EQ(-1, table_view_.selectedRow);
117 EXPECT_EQ(base::ASCIIToUTF16("a"),
Robert Sesek 2016/08/16 22:30:17 Similarly, EXPECT_NSEQ(@"a", …);
juncai 2016/08/16 23:03:21 Done.
118 base::SysNSStringToUTF16(
119 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
111 ASSERT_FALSE(connect_button_.enabled); 120 ASSERT_FALSE(connect_button_.enabled);
112 ASSERT_TRUE(cancel_button_.enabled); 121 ASSERT_TRUE(cancel_button_.enabled);
113 ASSERT_TRUE(help_button_.enabled); 122 ASSERT_TRUE(help_button_.enabled);
114 123
115 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 124 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
116 EXPECT_EQ(2, table_view_.numberOfRows); 125 EXPECT_EQ(2, table_view_.numberOfRows);
117 EXPECT_EQ(1, table_view_.numberOfColumns); 126 EXPECT_EQ(1, table_view_.numberOfColumns);
118 ASSERT_TRUE(table_view_.enabled); 127 ASSERT_TRUE(table_view_.enabled);
119 EXPECT_EQ(-1, table_view_.selectedRow); 128 EXPECT_EQ(-1, table_view_.selectedRow);
129 EXPECT_EQ(base::ASCIIToUTF16("b"),
130 base::SysNSStringToUTF16(
131 [[table_view_ preparedCellAtColumn:0 row:1] stringValue]));
120 132
121 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 133 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
122 EXPECT_EQ(3, table_view_.numberOfRows); 134 EXPECT_EQ(3, table_view_.numberOfRows);
123 EXPECT_EQ(1, table_view_.numberOfColumns); 135 EXPECT_EQ(1, table_view_.numberOfColumns);
124 ASSERT_TRUE(table_view_.enabled); 136 ASSERT_TRUE(table_view_.enabled);
125 EXPECT_EQ(-1, table_view_.selectedRow); 137 EXPECT_EQ(-1, table_view_.selectedRow);
138 EXPECT_EQ(base::ASCIIToUTF16("c"),
139 base::SysNSStringToUTF16(
140 [[table_view_ preparedCellAtColumn:0 row:2] stringValue]));
126 } 141 }
127 142
128 TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) { 143 TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) {
129 CreateChooserDialog(); 144 CreateChooserDialog();
130 145
131 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 146 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
132 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 147 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
133 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 148 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
134 149
135 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b")); 150 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
136 EXPECT_EQ(2, table_view_.numberOfRows); 151 EXPECT_EQ(2, table_view_.numberOfRows);
137 EXPECT_EQ(1, table_view_.numberOfColumns); 152 EXPECT_EQ(1, table_view_.numberOfColumns);
138 ASSERT_TRUE(table_view_.enabled); 153 ASSERT_TRUE(table_view_.enabled);
139 EXPECT_EQ(-1, table_view_.selectedRow); 154 EXPECT_EQ(-1, table_view_.selectedRow);
155 EXPECT_EQ(base::ASCIIToUTF16("a"),
156 base::SysNSStringToUTF16(
157 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
158 EXPECT_EQ(base::ASCIIToUTF16("c"),
159 base::SysNSStringToUTF16(
160 [[table_view_ preparedCellAtColumn:0 row:1] stringValue]));
140 161
141 // Remove a non-existent option, the number of rows should not change. 162 // Remove a non-existent option, the number of rows should not change.
142 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent")); 163 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent"));
143 EXPECT_EQ(2, table_view_.numberOfRows); 164 EXPECT_EQ(2, table_view_.numberOfRows);
144 EXPECT_EQ(1, table_view_.numberOfColumns); 165 EXPECT_EQ(1, table_view_.numberOfColumns);
145 ASSERT_TRUE(table_view_.enabled); 166 ASSERT_TRUE(table_view_.enabled);
146 EXPECT_EQ(-1, table_view_.selectedRow); 167 EXPECT_EQ(-1, table_view_.selectedRow);
168 EXPECT_EQ(base::ASCIIToUTF16("a"),
169 base::SysNSStringToUTF16(
170 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
171 EXPECT_EQ(base::ASCIIToUTF16("c"),
172 base::SysNSStringToUTF16(
173 [[table_view_ preparedCellAtColumn:0 row:1] stringValue]));
147 174
148 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c")); 175 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
149 EXPECT_EQ(1, table_view_.numberOfRows); 176 EXPECT_EQ(1, table_view_.numberOfRows);
150 EXPECT_EQ(1, table_view_.numberOfColumns); 177 EXPECT_EQ(1, table_view_.numberOfColumns);
151 ASSERT_TRUE(table_view_.enabled); 178 ASSERT_TRUE(table_view_.enabled);
152 EXPECT_EQ(-1, table_view_.selectedRow); 179 EXPECT_EQ(-1, table_view_.selectedRow);
180 EXPECT_EQ(base::ASCIIToUTF16("a"),
181 base::SysNSStringToUTF16(
182 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
153 183
154 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a")); 184 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
155 // There is no option shown now. But since "No devices found." 185 // 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. 186 // needs to be displayed on the |table_view_|, the number of rows is 1.
157 EXPECT_EQ(1, table_view_.numberOfRows); 187 EXPECT_EQ(1, table_view_.numberOfRows);
158 EXPECT_EQ(1, table_view_.numberOfColumns); 188 EXPECT_EQ(1, table_view_.numberOfColumns);
159 // |table_view_| should be disabled since all options are removed. 189 // |table_view_| should be disabled since all options are removed.
160 ASSERT_FALSE(table_view_.enabled); 190 ASSERT_FALSE(table_view_.enabled);
161 EXPECT_EQ(-1, table_view_.selectedRow); 191 EXPECT_EQ(-1, table_view_.selectedRow);
192 EXPECT_EQ(
193 l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
194 base::SysNSStringToUTF16(
195 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
162 } 196 }
163 197
164 TEST_F(ChooserDialogCocoaControllerTest, UpdateOption) { 198 TEST_F(ChooserDialogCocoaControllerTest, UpdateOption) {
165 CreateChooserDialog(); 199 CreateChooserDialog();
166 200
167 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 201 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
168 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 202 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
169 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 203 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
170 204
171 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), 205 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"),
172 base::ASCIIToUTF16("d")); 206 base::ASCIIToUTF16("d"));
173 207
174 EXPECT_EQ(3, table_view_.numberOfRows); 208 EXPECT_EQ(3, table_view_.numberOfRows);
175 EXPECT_EQ(1, table_view_.numberOfColumns); 209 EXPECT_EQ(1, table_view_.numberOfColumns);
176 ASSERT_TRUE(table_view_.enabled); 210 ASSERT_TRUE(table_view_.enabled);
177 EXPECT_EQ(-1, table_view_.selectedRow); 211 EXPECT_EQ(-1, table_view_.selectedRow);
178 212 EXPECT_EQ(base::ASCIIToUTF16("a"),
179 NSCell* cell = [table_view_ preparedCellAtColumn:0 row:1]; 213 base::SysNSStringToUTF16(
214 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
180 EXPECT_EQ(base::ASCIIToUTF16("d"), 215 EXPECT_EQ(base::ASCIIToUTF16("d"),
181 base::SysNSStringToUTF16([cell stringValue])); 216 base::SysNSStringToUTF16(
217 [[table_view_ preparedCellAtColumn:0 row:1] stringValue]));
218 EXPECT_EQ(base::ASCIIToUTF16("c"),
219 base::SysNSStringToUTF16(
220 [[table_view_ preparedCellAtColumn:0 row:2] stringValue]));
182 } 221 }
183 222
184 TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) { 223 TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) {
185 CreateChooserDialog(); 224 CreateChooserDialog();
186 225
187 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 226 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
188 EXPECT_EQ(1, table_view_.numberOfRows); 227 EXPECT_EQ(1, table_view_.numberOfRows);
189 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 228 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
190 EXPECT_EQ(2, table_view_.numberOfRows); 229 EXPECT_EQ(2, table_view_.numberOfRows);
191 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b")); 230 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
(...skipping 17 matching lines...) Expand all
209 248
210 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), 249 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"),
211 base::ASCIIToUTF16("d")); 250 base::ASCIIToUTF16("d"));
212 251
213 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d")); 252 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
214 253
215 EXPECT_EQ(2, table_view_.numberOfRows); 254 EXPECT_EQ(2, table_view_.numberOfRows);
216 EXPECT_EQ(1, table_view_.numberOfColumns); 255 EXPECT_EQ(1, table_view_.numberOfColumns);
217 ASSERT_TRUE(table_view_.enabled); 256 ASSERT_TRUE(table_view_.enabled);
218 EXPECT_EQ(-1, table_view_.selectedRow); 257 EXPECT_EQ(-1, table_view_.selectedRow);
219
220 NSCell* cell_a = [table_view_ preparedCellAtColumn:0 row:0];
221 EXPECT_EQ(base::ASCIIToUTF16("a"), 258 EXPECT_EQ(base::ASCIIToUTF16("a"),
222 base::SysNSStringToUTF16([cell_a stringValue])); 259 base::SysNSStringToUTF16(
223 260 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
224 NSCell* cell_c = [table_view_ preparedCellAtColumn:0 row:1];
225 EXPECT_EQ(base::ASCIIToUTF16("c"), 261 EXPECT_EQ(base::ASCIIToUTF16("c"),
226 base::SysNSStringToUTF16([cell_c stringValue])); 262 base::SysNSStringToUTF16(
263 [[table_view_ preparedCellAtColumn:0 row:1] stringValue]));
227 } 264 }
228 265
229 TEST_F(ChooserDialogCocoaControllerTest, SelectAndDeselectAnOption) { 266 TEST_F(ChooserDialogCocoaControllerTest, SelectAndDeselectAnOption) {
230 CreateChooserDialog(); 267 CreateChooserDialog();
231 268
232 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 269 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
233 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 270 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
234 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 271 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
235 272
236 // Select option 0. 273 // Select option 0.
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 382
346 // Select option 1. 383 // Select option 1.
347 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1] 384 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
348 byExtendingSelection:NO]; 385 byExtendingSelection:NO];
349 386
350 // Update option 1. 387 // Update option 1.
351 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), 388 chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"),
352 base::ASCIIToUTF16("d")); 389 base::ASCIIToUTF16("d"));
353 390
354 EXPECT_EQ(1, table_view_.selectedRow); 391 EXPECT_EQ(1, table_view_.selectedRow);
392 EXPECT_EQ(base::ASCIIToUTF16("a"),
393 base::SysNSStringToUTF16(
394 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
395 EXPECT_EQ(base::ASCIIToUTF16("d"),
396 base::SysNSStringToUTF16(
397 [[table_view_ preparedCellAtColumn:0 row:1] stringValue]));
398 EXPECT_EQ(base::ASCIIToUTF16("c"),
399 base::SysNSStringToUTF16(
400 [[table_view_ preparedCellAtColumn:0 row:2] stringValue]));
355 ASSERT_TRUE(connect_button_.enabled); 401 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 } 402 }
361 403
362 TEST_F(ChooserDialogCocoaControllerTest, 404 TEST_F(ChooserDialogCocoaControllerTest,
363 AddAnOptionAndSelectItAndRemoveTheSelectedOption) { 405 AddAnOptionAndSelectItAndRemoveTheSelectedOption) {
364 CreateChooserDialog(); 406 CreateChooserDialog();
365 407
366 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 408 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
367 409
368 // Select option 0. 410 // Select option 0.
369 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 411 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
370 byExtendingSelection:NO]; 412 byExtendingSelection:NO];
371 EXPECT_EQ(1, table_view_.numberOfRows); 413 EXPECT_EQ(1, table_view_.numberOfRows);
372 EXPECT_EQ(0, table_view_.selectedRow); 414 EXPECT_EQ(0, table_view_.selectedRow);
373 ASSERT_TRUE(connect_button_.enabled); 415 ASSERT_TRUE(connect_button_.enabled);
374 416
375 // Remove option 0. 417 // Remove option 0.
376 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a")); 418 chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
377 // There is no option shown now. But since "No devices found." 419 // 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. 420 // needs to be displayed on the |table_view_|, the number of rows is 1.
379 EXPECT_EQ(1, table_view_.numberOfRows); 421 EXPECT_EQ(1, table_view_.numberOfRows);
380 // No option selected. 422 // No option selected.
381 EXPECT_EQ(-1, table_view_.selectedRow); 423 EXPECT_EQ(-1, table_view_.selectedRow);
382 // |table_view_| should be disabled since there is no option shown. 424 // |table_view_| should be disabled since there is no option shown.
383 ASSERT_FALSE(table_view_.enabled); 425 ASSERT_FALSE(table_view_.enabled);
426 EXPECT_EQ(
427 l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
428 base::SysNSStringToUTF16(
429 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
384 // Since no option selected, the "Connect" button should be disabled. 430 // Since no option selected, the "Connect" button should be disabled.
385 ASSERT_FALSE(connect_button_.enabled); 431 ASSERT_FALSE(connect_button_.enabled);
386 } 432 }
387 433
388 TEST_F(ChooserDialogCocoaControllerTest, NoOptionSelectedAndPressCancelButton) { 434 TEST_F(ChooserDialogCocoaControllerTest, NoOptionSelectedAndPressCancelButton) {
389 CreateChooserDialog(); 435 CreateChooserDialog();
390 436
391 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 437 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
392 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 438 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
393 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 439 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 chooser_controller_->OnAdapterPresenceChanged( 486 chooser_controller_->OnAdapterPresenceChanged(
441 content::BluetoothChooser::AdapterPresence::POWERED_ON); 487 content::BluetoothChooser::AdapterPresence::POWERED_ON);
442 EXPECT_FALSE(table_view_.hidden); 488 EXPECT_FALSE(table_view_.hidden);
443 // There is no option shown now. But since "No devices found." 489 // 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. 490 // needs to be displayed on the |table_view_|, the number of rows is 1.
445 EXPECT_EQ(1, table_view_.numberOfRows); 491 EXPECT_EQ(1, table_view_.numberOfRows);
446 // |table_view_| should be disabled since there is no option shown. 492 // |table_view_| should be disabled since there is no option shown.
447 ASSERT_FALSE(table_view_.enabled); 493 ASSERT_FALSE(table_view_.enabled);
448 // No option selected. 494 // No option selected.
449 EXPECT_EQ(-1, table_view_.selectedRow); 495 EXPECT_EQ(-1, table_view_.selectedRow);
496 EXPECT_EQ(
497 l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
498 base::SysNSStringToUTF16(
499 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
450 EXPECT_TRUE(spinner_.hidden); 500 EXPECT_TRUE(spinner_.hidden);
451 EXPECT_TRUE(status_.hidden); 501 EXPECT_TRUE(status_.hidden);
452 EXPECT_FALSE(rescan_button_.hidden); 502 EXPECT_FALSE(rescan_button_.hidden);
453 ASSERT_FALSE(connect_button_.enabled); 503 ASSERT_FALSE(connect_button_.enabled);
454 ASSERT_TRUE(cancel_button_.enabled); 504 ASSERT_TRUE(cancel_button_.enabled);
455 505
456 // Add options 506 // Add options
457 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 507 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
458 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 508 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
459 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 509 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
460 ASSERT_TRUE(table_view_.enabled); 510 ASSERT_TRUE(table_view_.enabled);
461 EXPECT_EQ(3, table_view_.numberOfRows); 511 EXPECT_EQ(3, table_view_.numberOfRows);
462 // Select option 1. 512 // Select option 1.
463 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1] 513 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
464 byExtendingSelection:NO]; 514 byExtendingSelection:NO];
465 EXPECT_EQ(1, table_view_.selectedRow); 515 EXPECT_EQ(1, table_view_.selectedRow);
466 ASSERT_TRUE(connect_button_.enabled); 516 ASSERT_TRUE(connect_button_.enabled);
467 ASSERT_TRUE(cancel_button_.enabled); 517 ASSERT_TRUE(cancel_button_.enabled);
468 518
469 chooser_controller_->OnAdapterPresenceChanged( 519 chooser_controller_->OnAdapterPresenceChanged(
470 content::BluetoothChooser::AdapterPresence::POWERED_OFF); 520 content::BluetoothChooser::AdapterPresence::POWERED_OFF);
471 EXPECT_FALSE(table_view_.hidden); 521 EXPECT_FALSE(table_view_.hidden);
472 // Since "Bluetooth turned off." needs to be displayed on the |table_view_|, 522 // Since "Bluetooth turned off." needs to be displayed on the |table_view_|,
473 // the number of rows is 1. 523 // the number of rows is 1.
474 EXPECT_EQ(1, table_view_.numberOfRows); 524 EXPECT_EQ(1, table_view_.numberOfRows);
475 // |table_view_| should be disabled since there is no option shown. 525 // |table_view_| should be disabled since there is no option shown.
476 EXPECT_FALSE(table_view_.enabled); 526 EXPECT_FALSE(table_view_.enabled);
477 // No option selected. 527 // No option selected.
478 EXPECT_EQ(-1, table_view_.selectedRow); 528 EXPECT_EQ(-1, table_view_.selectedRow);
529 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF),
530 base::SysNSStringToUTF16(
531 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
479 EXPECT_TRUE(spinner_.hidden); 532 EXPECT_TRUE(spinner_.hidden);
480 EXPECT_TRUE(status_.hidden); 533 EXPECT_TRUE(status_.hidden);
481 EXPECT_TRUE(rescan_button_.hidden); 534 EXPECT_TRUE(rescan_button_.hidden);
482 // Since the adapter is turned off, the previously selected option 535 // Since the adapter is turned off, the previously selected option
483 // becomes invalid, the OK button is disabled. 536 // becomes invalid, the OK button is disabled.
484 EXPECT_EQ(0u, chooser_controller_->NumOptions()); 537 EXPECT_EQ(0u, chooser_controller_->NumOptions());
485 ASSERT_FALSE(connect_button_.enabled); 538 ASSERT_FALSE(connect_button_.enabled);
486 ASSERT_TRUE(cancel_button_.enabled); 539 ASSERT_TRUE(cancel_button_.enabled);
487 540
488 chooser_controller_->OnAdapterPresenceChanged( 541 chooser_controller_->OnAdapterPresenceChanged(
489 content::BluetoothChooser::AdapterPresence::POWERED_ON); 542 content::BluetoothChooser::AdapterPresence::POWERED_ON);
543 EXPECT_EQ(
544 l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
545 base::SysNSStringToUTF16(
546 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
490 EXPECT_EQ(0u, chooser_controller_->NumOptions()); 547 EXPECT_EQ(0u, chooser_controller_->NumOptions());
491 ASSERT_FALSE(connect_button_.enabled); 548 ASSERT_FALSE(connect_button_.enabled);
492 ASSERT_TRUE(cancel_button_.enabled); 549 ASSERT_TRUE(cancel_button_.enabled);
493 } 550 }
494 551
495 TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) { 552 TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) {
496 CreateChooserDialog(); 553 CreateChooserDialog();
497 554
498 // Add options 555 // Add options
499 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 556 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
(...skipping 25 matching lines...) Expand all
525 chooser_controller_->OnDiscoveryStateChanged( 582 chooser_controller_->OnDiscoveryStateChanged(
526 content::BluetoothChooser::DiscoveryState::IDLE); 583 content::BluetoothChooser::DiscoveryState::IDLE);
527 EXPECT_FALSE(table_view_.hidden); 584 EXPECT_FALSE(table_view_.hidden);
528 // There is no option shown now. But since "No devices found." 585 // 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. 586 // needs to be displayed on the |table_view_|, the number of rows is 1.
530 EXPECT_EQ(1, table_view_.numberOfRows); 587 EXPECT_EQ(1, table_view_.numberOfRows);
531 // |table_view_| should be disabled since there is no option shown. 588 // |table_view_| should be disabled since there is no option shown.
532 ASSERT_FALSE(table_view_.enabled); 589 ASSERT_FALSE(table_view_.enabled);
533 // No option selected. 590 // No option selected.
534 EXPECT_EQ(-1, table_view_.selectedRow); 591 EXPECT_EQ(-1, table_view_.selectedRow);
592 EXPECT_EQ(
593 l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
594 base::SysNSStringToUTF16(
595 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
535 EXPECT_TRUE(spinner_.hidden); 596 EXPECT_TRUE(spinner_.hidden);
536 EXPECT_TRUE(status_.hidden); 597 EXPECT_TRUE(status_.hidden);
537 EXPECT_FALSE(rescan_button_.hidden); 598 EXPECT_FALSE(rescan_button_.hidden);
538 // OK button is disabled since the chooser refreshed options. 599 // OK button is disabled since the chooser refreshed options.
539 ASSERT_FALSE(connect_button_.enabled); 600 ASSERT_FALSE(connect_button_.enabled);
540 ASSERT_TRUE(cancel_button_.enabled); 601 ASSERT_TRUE(cancel_button_.enabled);
541 } 602 }
542 603
543 TEST_F(ChooserDialogCocoaControllerTest, 604 TEST_F(ChooserDialogCocoaControllerTest,
544 DiscoveringAndOneOptionAddedAndSelectedAndIdle) { 605 DiscoveringAndOneOptionAddedAndSelectedAndIdle) {
545 CreateChooserDialog(); 606 CreateChooserDialog();
546 607
547 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 608 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
548 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 609 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
549 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 610 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
550 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1] 611 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
551 byExtendingSelection:NO]; 612 byExtendingSelection:NO];
552 613
553 chooser_controller_->OnDiscoveryStateChanged( 614 chooser_controller_->OnDiscoveryStateChanged(
554 content::BluetoothChooser::DiscoveryState::DISCOVERING); 615 content::BluetoothChooser::DiscoveryState::DISCOVERING);
555 chooser_controller_->OptionAdded(base::ASCIIToUTF16("d")); 616 chooser_controller_->OptionAdded(base::ASCIIToUTF16("d"));
556 EXPECT_FALSE(table_view_.hidden); 617 EXPECT_FALSE(table_view_.hidden);
557 // |table_view_| should be enabled since there is an option. 618 // |table_view_| should be enabled since there is an option.
558 ASSERT_TRUE(table_view_.enabled); 619 ASSERT_TRUE(table_view_.enabled);
559 EXPECT_EQ(1, table_view_.numberOfRows); 620 EXPECT_EQ(1, table_view_.numberOfRows);
560 // No option selected. 621 // No option selected.
561 EXPECT_EQ(-1, table_view_.selectedRow); 622 EXPECT_EQ(-1, table_view_.selectedRow);
623 EXPECT_EQ(base::ASCIIToUTF16("d"),
624 base::SysNSStringToUTF16(
625 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
562 EXPECT_TRUE(spinner_.hidden); 626 EXPECT_TRUE(spinner_.hidden);
563 EXPECT_FALSE(status_.hidden); 627 EXPECT_FALSE(status_.hidden);
564 EXPECT_TRUE(rescan_button_.hidden); 628 EXPECT_TRUE(rescan_button_.hidden);
565 // OK button is disabled since no option is selected. 629 // OK button is disabled since no option is selected.
566 ASSERT_FALSE(connect_button_.enabled); 630 ASSERT_FALSE(connect_button_.enabled);
567 ASSERT_TRUE(cancel_button_.enabled); 631 ASSERT_TRUE(cancel_button_.enabled);
568 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 632 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
569 byExtendingSelection:NO]; 633 byExtendingSelection:NO];
570 EXPECT_EQ(0, table_view_.selectedRow); 634 EXPECT_EQ(0, table_view_.selectedRow);
571 ASSERT_TRUE(connect_button_.enabled); 635 ASSERT_TRUE(connect_button_.enabled);
572 ASSERT_TRUE(cancel_button_.enabled); 636 ASSERT_TRUE(cancel_button_.enabled);
573 637
574 chooser_controller_->OnDiscoveryStateChanged( 638 chooser_controller_->OnDiscoveryStateChanged(
575 content::BluetoothChooser::DiscoveryState::IDLE); 639 content::BluetoothChooser::DiscoveryState::IDLE);
576 EXPECT_FALSE(table_view_.hidden); 640 EXPECT_FALSE(table_view_.hidden);
577 ASSERT_TRUE(table_view_.enabled); 641 ASSERT_TRUE(table_view_.enabled);
578 EXPECT_EQ(1, table_view_.numberOfRows); 642 EXPECT_EQ(1, table_view_.numberOfRows);
579 EXPECT_EQ(0, table_view_.selectedRow); 643 EXPECT_EQ(0, table_view_.selectedRow);
644 EXPECT_EQ(base::ASCIIToUTF16("d"),
645 base::SysNSStringToUTF16(
646 [[table_view_ preparedCellAtColumn:0 row:0] stringValue]));
580 EXPECT_TRUE(spinner_.hidden); 647 EXPECT_TRUE(spinner_.hidden);
581 EXPECT_TRUE(status_.hidden); 648 EXPECT_TRUE(status_.hidden);
582 EXPECT_FALSE(rescan_button_.hidden); 649 EXPECT_FALSE(rescan_button_.hidden);
583 ASSERT_TRUE(connect_button_.enabled); 650 ASSERT_TRUE(connect_button_.enabled);
584 ASSERT_TRUE(cancel_button_.enabled); 651 ASSERT_TRUE(cancel_button_.enabled);
585 } 652 }
586 653
587 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) { 654 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) {
588 CreateChooserDialog(); 655 CreateChooserDialog();
589 656
590 EXPECT_CALL(*chooser_controller_, RefreshOptions()).Times(1); 657 EXPECT_CALL(*chooser_controller_, RefreshOptions()).Times(1);
591 [rescan_button_ performClick:chooser_dialog_controller_]; 658 [rescan_button_ performClick:chooser_dialog_controller_];
592 } 659 }
593 660
594 TEST_F(ChooserDialogCocoaControllerTest, PressHelpButton) { 661 TEST_F(ChooserDialogCocoaControllerTest, PressHelpButton) {
595 CreateChooserDialog(); 662 CreateChooserDialog();
596 663
597 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 664 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
598 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 665 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
599 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 666 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
600 667
601 // Select option 0 and press "Get help" button. 668 // Select option 0 and press "Get help" button.
602 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 669 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
603 byExtendingSelection:NO]; 670 byExtendingSelection:NO];
604 EXPECT_CALL(*chooser_controller_, Select(testing::_)).Times(0); 671 EXPECT_CALL(*chooser_controller_, Select(testing::_)).Times(0);
605 EXPECT_CALL(*chooser_controller_, Cancel()).Times(0); 672 EXPECT_CALL(*chooser_controller_, Cancel()).Times(0);
606 EXPECT_CALL(*chooser_controller_, OpenHelpCenterUrl()).Times(1); 673 EXPECT_CALL(*chooser_controller_, OpenHelpCenterUrl()).Times(1);
607 [help_button_ performClick:chooser_dialog_controller_]; 674 [help_button_ performClick:chooser_dialog_controller_];
608 } 675 }
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