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

Side by Side Diff: chrome/browser/ui/views/chooser_content_view_unittest.cc

Issue 2257743003: Add signal strength indicator icon to WebBluetooth chooser on Mac (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bluetooth_signal_strength
Patch Set: address more comments Created 4 years, 3 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 #include "chrome/browser/ui/views/chooser_content_view.h" 5 #include "chrome/browser/ui/views/chooser_content_view.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 // No option selected. 87 // No option selected.
88 EXPECT_EQ(0, table_view_->SelectedRowCount()); 88 EXPECT_EQ(0, table_view_->SelectedRowCount());
89 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 89 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
90 EXPECT_FALSE(throbber_->visible()); 90 EXPECT_FALSE(throbber_->visible());
91 EXPECT_TRUE(discovery_state_->text().empty()); 91 EXPECT_TRUE(discovery_state_->text().empty());
92 } 92 }
93 93
94 TEST_F(ChooserContentViewTest, AddOption) { 94 TEST_F(ChooserContentViewTest, AddOption) {
95 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0); 95 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0);
96 96
97 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 97 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
98 MockChooserController::kNoImage);
98 EXPECT_EQ(1, table_view_->RowCount()); 99 EXPECT_EQ(1, table_view_->RowCount());
99 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 100 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0));
100 // |table_view_| should be enabled since there is an option. 101 // |table_view_| should be enabled since there is an option.
101 EXPECT_TRUE(table_view_->enabled()); 102 EXPECT_TRUE(table_view_->enabled());
102 // No option selected. 103 // No option selected.
103 EXPECT_EQ(0, table_view_->SelectedRowCount()); 104 EXPECT_EQ(0, table_view_->SelectedRowCount());
104 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 105 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
105 106
106 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 107 mock_chooser_controller_->OptionAdded(
108 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
107 EXPECT_EQ(2, table_view_->RowCount()); 109 EXPECT_EQ(2, table_view_->RowCount());
108 EXPECT_EQ(base::ASCIIToUTF16("b"), table_model_->GetText(1, 0)); 110 EXPECT_EQ(base::ASCIIToUTF16("b"), table_model_->GetText(1, 0));
109 EXPECT_TRUE(table_view_->enabled()); 111 EXPECT_TRUE(table_view_->enabled());
110 EXPECT_EQ(0, table_view_->SelectedRowCount()); 112 EXPECT_EQ(0, table_view_->SelectedRowCount());
111 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 113 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
112 114
113 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 115 mock_chooser_controller_->OptionAdded(
116 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
114 EXPECT_EQ(3, table_view_->RowCount()); 117 EXPECT_EQ(3, table_view_->RowCount());
115 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0)); 118 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0));
116 EXPECT_TRUE(table_view_->enabled()); 119 EXPECT_TRUE(table_view_->enabled());
117 EXPECT_EQ(0, table_view_->SelectedRowCount()); 120 EXPECT_EQ(0, table_view_->SelectedRowCount());
118 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 121 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
119 } 122 }
120 123
121 TEST_F(ChooserContentViewTest, RemoveOption) { 124 TEST_F(ChooserContentViewTest, RemoveOption) {
122 // Called from TableView::OnItemsRemoved(). 125 // Called from TableView::OnItemsRemoved().
123 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3); 126 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
124 127
125 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 128 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
126 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 129 MockChooserController::kNoImage);
127 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 130 mock_chooser_controller_->OptionAdded(
131 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
132 mock_chooser_controller_->OptionAdded(
133 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
128 134
129 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b")); 135 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
130 EXPECT_EQ(2, table_view_->RowCount()); 136 EXPECT_EQ(2, table_view_->RowCount());
131 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 137 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0));
132 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0)); 138 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0));
133 EXPECT_TRUE(table_view_->enabled()); 139 EXPECT_TRUE(table_view_->enabled());
134 EXPECT_EQ(0, table_view_->SelectedRowCount()); 140 EXPECT_EQ(0, table_view_->SelectedRowCount());
135 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 141 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
136 142
137 // Remove a non-existent option, the number of rows should not change. 143 // Remove a non-existent option, the number of rows should not change.
(...skipping 21 matching lines...) Expand all
159 table_model_->GetText(0, 0)); 165 table_model_->GetText(0, 0));
160 // |table_view_| should be disabled since all options are removed. 166 // |table_view_| should be disabled since all options are removed.
161 EXPECT_FALSE(table_view_->enabled()); 167 EXPECT_FALSE(table_view_->enabled());
162 EXPECT_EQ(0, table_view_->SelectedRowCount()); 168 EXPECT_EQ(0, table_view_->SelectedRowCount());
163 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 169 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
164 } 170 }
165 171
166 TEST_F(ChooserContentViewTest, UpdateOption) { 172 TEST_F(ChooserContentViewTest, UpdateOption) {
167 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0); 173 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0);
168 174
169 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 175 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
170 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 176 MockChooserController::kNoImage);
171 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 177 mock_chooser_controller_->OptionAdded(
178 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
179 mock_chooser_controller_->OptionAdded(
180 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
172 181
173 mock_chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), 182 mock_chooser_controller_->OptionUpdated(
174 base::ASCIIToUTF16("d")); 183 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
184 MockChooserController::kSignalStrengthLevel2Bar);
175 EXPECT_EQ(3, table_view_->RowCount()); 185 EXPECT_EQ(3, table_view_->RowCount());
176 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 186 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0));
177 EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(1, 0)); 187 EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(1, 0));
178 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0)); 188 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0));
179 EXPECT_TRUE(table_view_->enabled()); 189 EXPECT_TRUE(table_view_->enabled());
180 EXPECT_EQ(0, table_view_->SelectedRowCount()); 190 EXPECT_EQ(0, table_view_->SelectedRowCount());
181 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 191 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
182 } 192 }
183 193
184 TEST_F(ChooserContentViewTest, AddAndRemoveOption) { 194 TEST_F(ChooserContentViewTest, AddAndRemoveOption) {
185 // Called from TableView::OnItemsRemoved(). 195 // Called from TableView::OnItemsRemoved().
186 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3); 196 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
187 197
188 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 198 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
199 MockChooserController::kNoImage);
189 EXPECT_EQ(1, table_view_->RowCount()); 200 EXPECT_EQ(1, table_view_->RowCount());
190 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 201 mock_chooser_controller_->OptionAdded(
202 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
191 EXPECT_EQ(2, table_view_->RowCount()); 203 EXPECT_EQ(2, table_view_->RowCount());
192 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b")); 204 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
193 EXPECT_EQ(1, table_view_->RowCount()); 205 EXPECT_EQ(1, table_view_->RowCount());
194 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 206 mock_chooser_controller_->OptionAdded(
207 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
195 EXPECT_EQ(2, table_view_->RowCount()); 208 EXPECT_EQ(2, table_view_->RowCount());
196 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("d")); 209 mock_chooser_controller_->OptionAdded(
210 base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar);
197 EXPECT_EQ(3, table_view_->RowCount()); 211 EXPECT_EQ(3, table_view_->RowCount());
198 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d")); 212 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
199 EXPECT_EQ(2, table_view_->RowCount()); 213 EXPECT_EQ(2, table_view_->RowCount());
200 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c")); 214 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
201 EXPECT_EQ(1, table_view_->RowCount()); 215 EXPECT_EQ(1, table_view_->RowCount());
202 } 216 }
203 217
204 TEST_F(ChooserContentViewTest, UpdateAndRemoveTheUpdatedOption) { 218 TEST_F(ChooserContentViewTest, UpdateAndRemoveTheUpdatedOption) {
205 // Called from TableView::OnItemsRemoved(). 219 // Called from TableView::OnItemsRemoved().
206 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(1); 220 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(1);
207 221
208 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 222 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
209 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 223 MockChooserController::kNoImage);
210 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 224 mock_chooser_controller_->OptionAdded(
225 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
226 mock_chooser_controller_->OptionAdded(
227 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
211 228
212 mock_chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), 229 mock_chooser_controller_->OptionUpdated(
213 base::ASCIIToUTF16("d")); 230 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
231 MockChooserController::kSignalStrengthLevel2Bar);
214 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d")); 232 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
215 233
216 EXPECT_EQ(2, table_view_->RowCount()); 234 EXPECT_EQ(2, table_view_->RowCount());
217 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 235 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0));
218 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0)); 236 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0));
219 EXPECT_TRUE(table_view_->enabled()); 237 EXPECT_TRUE(table_view_->enabled());
220 EXPECT_EQ(0, table_view_->SelectedRowCount()); 238 EXPECT_EQ(0, table_view_->SelectedRowCount());
221 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 239 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
222 } 240 }
223 241
224 TEST_F(ChooserContentViewTest, SelectAndDeselectAnOption) { 242 TEST_F(ChooserContentViewTest, SelectAndDeselectAnOption) {
225 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(4); 243 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(4);
226 244
227 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 245 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
228 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 246 MockChooserController::kNoImage);
229 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 247 mock_chooser_controller_->OptionAdded(
248 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
249 mock_chooser_controller_->OptionAdded(
250 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
230 251
231 // Select option 0. 252 // Select option 0.
232 table_view_->Select(0); 253 table_view_->Select(0);
233 EXPECT_EQ(1, table_view_->SelectedRowCount()); 254 EXPECT_EQ(1, table_view_->SelectedRowCount());
234 EXPECT_EQ(0, table_view_->FirstSelectedRow()); 255 EXPECT_EQ(0, table_view_->FirstSelectedRow());
235 256
236 // Unselect option 0. 257 // Unselect option 0.
237 table_view_->Select(-1); 258 table_view_->Select(-1);
238 EXPECT_EQ(0, table_view_->SelectedRowCount()); 259 EXPECT_EQ(0, table_view_->SelectedRowCount());
239 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 260 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
240 261
241 // Select option 1. 262 // Select option 1.
242 table_view_->Select(1); 263 table_view_->Select(1);
243 EXPECT_EQ(1, table_view_->SelectedRowCount()); 264 EXPECT_EQ(1, table_view_->SelectedRowCount());
244 EXPECT_EQ(1, table_view_->FirstSelectedRow()); 265 EXPECT_EQ(1, table_view_->FirstSelectedRow());
245 266
246 // Unselect option 1. 267 // Unselect option 1.
247 table_view_->Select(-1); 268 table_view_->Select(-1);
248 EXPECT_EQ(0, table_view_->SelectedRowCount()); 269 EXPECT_EQ(0, table_view_->SelectedRowCount());
249 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 270 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
250 } 271 }
251 272
252 TEST_F(ChooserContentViewTest, SelectAnOptionAndThenSelectAnotherOption) { 273 TEST_F(ChooserContentViewTest, SelectAnOptionAndThenSelectAnotherOption) {
253 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3); 274 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
254 275
255 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 276 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
256 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 277 MockChooserController::kNoImage);
257 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 278 mock_chooser_controller_->OptionAdded(
279 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
280 mock_chooser_controller_->OptionAdded(
281 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
258 282
259 // Select option 0. 283 // Select option 0.
260 table_view_->Select(0); 284 table_view_->Select(0);
261 EXPECT_EQ(1, table_view_->SelectedRowCount()); 285 EXPECT_EQ(1, table_view_->SelectedRowCount());
262 EXPECT_EQ(0, table_view_->FirstSelectedRow()); 286 EXPECT_EQ(0, table_view_->FirstSelectedRow());
263 287
264 // Select option 1. 288 // Select option 1.
265 table_view_->Select(1); 289 table_view_->Select(1);
266 EXPECT_EQ(1, table_view_->SelectedRowCount()); 290 EXPECT_EQ(1, table_view_->SelectedRowCount());
267 EXPECT_EQ(1, table_view_->FirstSelectedRow()); 291 EXPECT_EQ(1, table_view_->FirstSelectedRow());
268 292
269 // Select option 2. 293 // Select option 2.
270 table_view_->Select(2); 294 table_view_->Select(2);
271 EXPECT_EQ(1, table_view_->SelectedRowCount()); 295 EXPECT_EQ(1, table_view_->SelectedRowCount());
272 EXPECT_EQ(2, table_view_->FirstSelectedRow()); 296 EXPECT_EQ(2, table_view_->FirstSelectedRow());
273 } 297 }
274 298
275 TEST_F(ChooserContentViewTest, SelectAnOptionAndRemoveAnotherOption) { 299 TEST_F(ChooserContentViewTest, SelectAnOptionAndRemoveAnotherOption) {
276 // Called one time from TableView::Select() and two times from 300 // Called one time from TableView::Select() and two times from
277 // TableView::OnItemsRemoved(). 301 // TableView::OnItemsRemoved().
278 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3); 302 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
279 303
280 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 304 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
281 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 305 MockChooserController::kNoImage);
282 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 306 mock_chooser_controller_->OptionAdded(
307 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
308 mock_chooser_controller_->OptionAdded(
309 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
283 310
284 // Select option 1. 311 // Select option 1.
285 table_view_->Select(1); 312 table_view_->Select(1);
286 EXPECT_EQ(1, table_view_->SelectedRowCount()); 313 EXPECT_EQ(1, table_view_->SelectedRowCount());
287 EXPECT_EQ(1, table_view_->FirstSelectedRow()); 314 EXPECT_EQ(1, table_view_->FirstSelectedRow());
288 315
289 // Remove option 0, the list becomes: b c. 316 // Remove option 0, the list becomes: b c.
290 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a")); 317 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
291 EXPECT_EQ(2, table_view_->RowCount()); 318 EXPECT_EQ(2, table_view_->RowCount());
292 EXPECT_EQ(1, table_view_->SelectedRowCount()); 319 EXPECT_EQ(1, table_view_->SelectedRowCount());
293 // Since option 0 is removed, the original selected option 1 becomes 320 // Since option 0 is removed, the original selected option 1 becomes
294 // the first option in the list. 321 // the first option in the list.
295 EXPECT_EQ(0, table_view_->FirstSelectedRow()); 322 EXPECT_EQ(0, table_view_->FirstSelectedRow());
296 323
297 // Remove option 1. 324 // Remove option 1.
298 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c")); 325 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
299 EXPECT_EQ(1, table_view_->RowCount()); 326 EXPECT_EQ(1, table_view_->RowCount());
300 EXPECT_EQ(1, table_view_->SelectedRowCount()); 327 EXPECT_EQ(1, table_view_->SelectedRowCount());
301 EXPECT_EQ(0, table_view_->FirstSelectedRow()); 328 EXPECT_EQ(0, table_view_->FirstSelectedRow());
302 } 329 }
303 330
304 TEST_F(ChooserContentViewTest, SelectAnOptionAndRemoveTheSelectedOption) { 331 TEST_F(ChooserContentViewTest, SelectAnOptionAndRemoveTheSelectedOption) {
305 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2); 332 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2);
306 333
307 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 334 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
308 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 335 MockChooserController::kNoImage);
309 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 336 mock_chooser_controller_->OptionAdded(
337 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
338 mock_chooser_controller_->OptionAdded(
339 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
310 340
311 // Select option 1. 341 // Select option 1.
312 table_view_->Select(1); 342 table_view_->Select(1);
313 EXPECT_EQ(1, table_view_->SelectedRowCount()); 343 EXPECT_EQ(1, table_view_->SelectedRowCount());
314 EXPECT_EQ(1, table_view_->FirstSelectedRow()); 344 EXPECT_EQ(1, table_view_->FirstSelectedRow());
315 345
316 // Remove option 1. 346 // Remove option 1.
317 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b")); 347 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
318 EXPECT_EQ(2, table_view_->RowCount()); 348 EXPECT_EQ(2, table_view_->RowCount());
319 // No option selected. 349 // No option selected.
320 EXPECT_EQ(0, table_view_->SelectedRowCount()); 350 EXPECT_EQ(0, table_view_->SelectedRowCount());
321 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 351 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
322 } 352 }
323 353
324 TEST_F(ChooserContentViewTest, SelectAnOptionAndUpdateTheSelectedOption) { 354 TEST_F(ChooserContentViewTest, SelectAnOptionAndUpdateTheSelectedOption) {
325 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(1); 355 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(1);
326 356
327 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 357 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
328 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 358 MockChooserController::kNoImage);
329 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 359 mock_chooser_controller_->OptionAdded(
360 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
361 mock_chooser_controller_->OptionAdded(
362 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
330 363
331 // Select option 1. 364 // Select option 1.
332 table_view_->Select(1); 365 table_view_->Select(1);
333 366
334 // Update option 1. 367 // Update option 1.
335 mock_chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), 368 mock_chooser_controller_->OptionUpdated(
336 base::ASCIIToUTF16("d")); 369 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
370 MockChooserController::kSignalStrengthLevel2Bar);
337 371
338 EXPECT_EQ(1, table_view_->SelectedRowCount()); 372 EXPECT_EQ(1, table_view_->SelectedRowCount());
339 EXPECT_EQ(1, table_view_->FirstSelectedRow()); 373 EXPECT_EQ(1, table_view_->FirstSelectedRow());
340 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 374 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0));
341 EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(1, 0)); 375 EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(1, 0));
342 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0)); 376 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0));
343 } 377 }
344 378
345 TEST_F(ChooserContentViewTest, 379 TEST_F(ChooserContentViewTest,
346 AddAnOptionAndSelectItAndRemoveTheSelectedOption) { 380 AddAnOptionAndSelectItAndRemoveTheSelectedOption) {
347 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2); 381 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2);
348 382
349 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 383 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
384 MockChooserController::kNoImage);
350 385
351 // Select option 0. 386 // Select option 0.
352 table_view_->Select(0); 387 table_view_->Select(0);
353 EXPECT_EQ(1, table_view_->SelectedRowCount()); 388 EXPECT_EQ(1, table_view_->SelectedRowCount());
354 EXPECT_EQ(0, table_view_->FirstSelectedRow()); 389 EXPECT_EQ(0, table_view_->FirstSelectedRow());
355 390
356 // Remove option 0. 391 // Remove option 0.
357 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a")); 392 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
358 // There is no option shown now. But since "No devices found." 393 // There is no option shown now. But since "No devices found."
359 // needs to be displayed on the |table_view_|, the number of rows is 1. 394 // needs to be displayed on the |table_view_|, the number of rows is 1.
(...skipping 23 matching lines...) Expand all
383 // |table_view_| should be disabled since there is no option shown. 418 // |table_view_| should be disabled since there is no option shown.
384 EXPECT_FALSE(table_view_->enabled()); 419 EXPECT_FALSE(table_view_->enabled());
385 // No option selected. 420 // No option selected.
386 EXPECT_EQ(0, table_view_->SelectedRowCount()); 421 EXPECT_EQ(0, table_view_->SelectedRowCount());
387 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 422 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
388 EXPECT_FALSE(throbber_->visible()); 423 EXPECT_FALSE(throbber_->visible());
389 EXPECT_TRUE(discovery_state_->enabled()); 424 EXPECT_TRUE(discovery_state_->enabled());
390 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN), 425 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN),
391 discovery_state_->text()); 426 discovery_state_->text());
392 427
393 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 428 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
394 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 429 MockChooserController::kNoImage);
395 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 430 mock_chooser_controller_->OptionAdded(
431 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
432 mock_chooser_controller_->OptionAdded(
433 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
396 table_view_->Select(1); 434 table_view_->Select(1);
397 435
398 mock_chooser_controller_->OnAdapterPresenceChanged( 436 mock_chooser_controller_->OnAdapterPresenceChanged(
399 content::BluetoothChooser::AdapterPresence::POWERED_OFF); 437 content::BluetoothChooser::AdapterPresence::POWERED_OFF);
400 EXPECT_EQ(0u, mock_chooser_controller_->NumOptions()); 438 EXPECT_EQ(0u, mock_chooser_controller_->NumOptions());
401 EXPECT_TRUE(table_view_->visible()); 439 EXPECT_TRUE(table_view_->visible());
402 // Since "Bluetooth turned off." needs to be displayed on the |table_view_|, 440 // Since "Bluetooth turned off." needs to be displayed on the |table_view_|,
403 // the number of rows is 1. 441 // the number of rows is 1.
404 EXPECT_EQ(1, table_view_->RowCount()); 442 EXPECT_EQ(1, table_view_->RowCount());
405 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF), 443 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF),
(...skipping 20 matching lines...) Expand all
426 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 464 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
427 EXPECT_FALSE(throbber_->visible()); 465 EXPECT_FALSE(throbber_->visible());
428 EXPECT_TRUE(discovery_state_->enabled()); 466 EXPECT_TRUE(discovery_state_->enabled());
429 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN), 467 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN),
430 discovery_state_->text()); 468 discovery_state_->text());
431 } 469 }
432 470
433 TEST_F(ChooserContentViewTest, DiscoveringAndNoOptionAddedAndIdle) { 471 TEST_F(ChooserContentViewTest, DiscoveringAndNoOptionAddedAndIdle) {
434 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2); 472 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2);
435 473
436 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 474 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
437 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 475 MockChooserController::kNoImage);
438 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 476 mock_chooser_controller_->OptionAdded(
477 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
478 mock_chooser_controller_->OptionAdded(
479 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
439 table_view_->Select(1); 480 table_view_->Select(1);
440 481
441 mock_chooser_controller_->OnDiscoveryStateChanged( 482 mock_chooser_controller_->OnDiscoveryStateChanged(
442 content::BluetoothChooser::DiscoveryState::DISCOVERING); 483 content::BluetoothChooser::DiscoveryState::DISCOVERING);
443 EXPECT_FALSE(table_view_->visible()); 484 EXPECT_FALSE(table_view_->visible());
444 EXPECT_TRUE(throbber_->visible()); 485 EXPECT_TRUE(throbber_->visible());
445 // |discovery_state_| is disabled and shows a label instead of a link. 486 // |discovery_state_| is disabled and shows a label instead of a link.
446 EXPECT_FALSE(discovery_state_->enabled()); 487 EXPECT_FALSE(discovery_state_->enabled());
447 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_SCANNING), 488 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_SCANNING),
448 discovery_state_->text()); 489 discovery_state_->text());
(...skipping 15 matching lines...) Expand all
464 EXPECT_FALSE(throbber_->visible()); 505 EXPECT_FALSE(throbber_->visible());
465 // |discovery_state_| is enabled and shows a link. 506 // |discovery_state_| is enabled and shows a link.
466 EXPECT_TRUE(discovery_state_->enabled()); 507 EXPECT_TRUE(discovery_state_->enabled());
467 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN), 508 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN),
468 discovery_state_->text()); 509 discovery_state_->text());
469 } 510 }
470 511
471 TEST_F(ChooserContentViewTest, DiscoveringAndOneOptionAddedAndSelectedAndIdle) { 512 TEST_F(ChooserContentViewTest, DiscoveringAndOneOptionAddedAndSelectedAndIdle) {
472 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3); 513 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
473 514
474 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); 515 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
475 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); 516 MockChooserController::kNoImage);
476 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); 517 mock_chooser_controller_->OptionAdded(
518 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
519 mock_chooser_controller_->OptionAdded(
520 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
477 table_view_->Select(1); 521 table_view_->Select(1);
478 522
479 mock_chooser_controller_->OnDiscoveryStateChanged( 523 mock_chooser_controller_->OnDiscoveryStateChanged(
480 content::BluetoothChooser::DiscoveryState::DISCOVERING); 524 content::BluetoothChooser::DiscoveryState::DISCOVERING);
481 mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("d")); 525 mock_chooser_controller_->OptionAdded(
526 base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar);
482 EXPECT_TRUE(table_view_->visible()); 527 EXPECT_TRUE(table_view_->visible());
483 EXPECT_EQ(1, table_view_->RowCount()); 528 EXPECT_EQ(1, table_view_->RowCount());
484 EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(0, 0)); 529 EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(0, 0));
485 // |table_view_| should be enabled since there is an option. 530 // |table_view_| should be enabled since there is an option.
486 EXPECT_TRUE(table_view_->enabled()); 531 EXPECT_TRUE(table_view_->enabled());
487 // No option selected. 532 // No option selected.
488 EXPECT_EQ(0, table_view_->SelectedRowCount()); 533 EXPECT_EQ(0, table_view_->SelectedRowCount());
489 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 534 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
490 EXPECT_FALSE(throbber_->visible()); 535 EXPECT_FALSE(throbber_->visible());
491 // |discovery_state_| is disabled and shows a label instead of a link. 536 // |discovery_state_| is disabled and shows a label instead of a link.
(...skipping 22 matching lines...) Expand all
514 559
515 TEST_F(ChooserContentViewTest, ClickRescanLink) { 560 TEST_F(ChooserContentViewTest, ClickRescanLink) {
516 EXPECT_CALL(*mock_chooser_controller_, RefreshOptions()).Times(1); 561 EXPECT_CALL(*mock_chooser_controller_, RefreshOptions()).Times(1);
517 chooser_content_view_->LinkClicked(nullptr, 0); 562 chooser_content_view_->LinkClicked(nullptr, 0);
518 } 563 }
519 564
520 TEST_F(ChooserContentViewTest, ClickStyledLabelLink) { 565 TEST_F(ChooserContentViewTest, ClickStyledLabelLink) {
521 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1); 566 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1);
522 styled_label_->LinkClicked(nullptr, 0); 567 styled_label_->LinkClicked(nullptr, 0);
523 } 568 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698