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

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

Issue 2330593002: Show device connection and paired status in chooser on non-Mac (Closed)
Patch Set: address 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
« no previous file with comments | « chrome/browser/ui/views/chooser_content_view.cc ('k') | no next file » | 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 #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 10 matching lines...) Expand all
21 #include "ui/views/test/views_test_base.h" 21 #include "ui/views/test/views_test_base.h"
22 22
23 namespace { 23 namespace {
24 24
25 class MockTableViewObserver : public views::TableViewObserver { 25 class MockTableViewObserver : public views::TableViewObserver {
26 public: 26 public:
27 // views::TableViewObserver: 27 // views::TableViewObserver:
28 MOCK_METHOD0(OnSelectionChanged, void()); 28 MOCK_METHOD0(OnSelectionChanged, void());
29 }; 29 };
30 30
31 base::string16 GetPairedText(const std::string& device_name) {
32 return l10n_util::GetStringFUTF16(
33 IDS_DEVICE_CHOOSER_DEVICE_NAME_AND_PAIRED_STATUS_TEXT,
34 base::ASCIIToUTF16(device_name));
35 }
36
31 } // namespace 37 } // namespace
32 38
33 class ChooserContentViewTest : public views::ViewsTestBase { 39 class ChooserContentViewTest : public views::ViewsTestBase {
34 public: 40 public:
35 ChooserContentViewTest() {} 41 ChooserContentViewTest() {}
36 42
37 // views::ViewsTestBase: 43 // views::ViewsTestBase:
38 void SetUp() override { 44 void SetUp() override {
39 views::ViewsTestBase::SetUp(); 45 views::ViewsTestBase::SetUp();
40 std::unique_ptr<MockChooserController> mock_chooser_controller( 46 std::unique_ptr<MockChooserController> mock_chooser_controller(
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 99
94 TEST_F(ChooserContentViewTest, AddOption) { 100 TEST_F(ChooserContentViewTest, AddOption) {
95 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0); 101 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0);
96 102
97 mock_chooser_controller_->OptionAdded( 103 mock_chooser_controller_->OptionAdded(
98 base::ASCIIToUTF16("a"), 104 base::ASCIIToUTF16("a"),
99 MockChooserController::kNoSignalStrengthLevelImage, 105 MockChooserController::kNoSignalStrengthLevelImage,
100 MockChooserController::ConnectedPairedStatus::CONNECTED | 106 MockChooserController::ConnectedPairedStatus::CONNECTED |
101 MockChooserController::ConnectedPairedStatus::PAIRED); 107 MockChooserController::ConnectedPairedStatus::PAIRED);
102 EXPECT_EQ(1, table_view_->RowCount()); 108 EXPECT_EQ(1, table_view_->RowCount());
103 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 109 EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
104 // |table_view_| should be enabled since there is an option. 110 // |table_view_| should be enabled since there is an option.
105 EXPECT_TRUE(table_view_->enabled()); 111 EXPECT_TRUE(table_view_->enabled());
106 // No option selected. 112 // No option selected.
107 EXPECT_EQ(0, table_view_->SelectedRowCount()); 113 EXPECT_EQ(0, table_view_->SelectedRowCount());
108 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 114 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
109 115
110 mock_chooser_controller_->OptionAdded( 116 mock_chooser_controller_->OptionAdded(
111 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, 117 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
112 MockChooserController::ConnectedPairedStatus::NONE); 118 MockChooserController::ConnectedPairedStatus::NONE);
113 EXPECT_EQ(2, table_view_->RowCount()); 119 EXPECT_EQ(2, table_view_->RowCount());
(...skipping 23 matching lines...) Expand all
137 MockChooserController::ConnectedPairedStatus::PAIRED); 143 MockChooserController::ConnectedPairedStatus::PAIRED);
138 mock_chooser_controller_->OptionAdded( 144 mock_chooser_controller_->OptionAdded(
139 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, 145 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
140 MockChooserController::ConnectedPairedStatus::NONE); 146 MockChooserController::ConnectedPairedStatus::NONE);
141 mock_chooser_controller_->OptionAdded( 147 mock_chooser_controller_->OptionAdded(
142 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, 148 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
143 MockChooserController::ConnectedPairedStatus::NONE); 149 MockChooserController::ConnectedPairedStatus::NONE);
144 150
145 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b")); 151 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
146 EXPECT_EQ(2, table_view_->RowCount()); 152 EXPECT_EQ(2, table_view_->RowCount());
147 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 153 EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
148 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0)); 154 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0));
149 EXPECT_TRUE(table_view_->enabled()); 155 EXPECT_TRUE(table_view_->enabled());
150 EXPECT_EQ(0, table_view_->SelectedRowCount()); 156 EXPECT_EQ(0, table_view_->SelectedRowCount());
151 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 157 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
152 158
153 // Remove a non-existent option, the number of rows should not change. 159 // Remove a non-existent option, the number of rows should not change.
154 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent")); 160 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent"));
155 EXPECT_EQ(2, table_view_->RowCount()); 161 EXPECT_EQ(2, table_view_->RowCount());
156 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 162 EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
157 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0)); 163 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0));
158 EXPECT_TRUE(table_view_->enabled()); 164 EXPECT_TRUE(table_view_->enabled());
159 EXPECT_EQ(0, table_view_->SelectedRowCount()); 165 EXPECT_EQ(0, table_view_->SelectedRowCount());
160 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 166 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
161 167
162 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c")); 168 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
163 EXPECT_EQ(1, table_view_->RowCount()); 169 EXPECT_EQ(1, table_view_->RowCount());
164 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 170 EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
165 EXPECT_TRUE(table_view_->enabled()); 171 EXPECT_TRUE(table_view_->enabled());
166 EXPECT_EQ(0, table_view_->SelectedRowCount()); 172 EXPECT_EQ(0, table_view_->SelectedRowCount());
167 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 173 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
168 174
169 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a")); 175 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
170 // There is no option shown now. But since "No devices found." 176 // There is no option shown now. But since "No devices found."
171 // needs to be displayed on the |table_view_|, the number of rows is 1. 177 // needs to be displayed on the |table_view_|, the number of rows is 1.
172 EXPECT_EQ(1, table_view_->RowCount()); 178 EXPECT_EQ(1, table_view_->RowCount());
173 EXPECT_EQ( 179 EXPECT_EQ(
174 l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT), 180 l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
(...skipping 18 matching lines...) Expand all
193 mock_chooser_controller_->OptionAdded( 199 mock_chooser_controller_->OptionAdded(
194 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, 200 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
195 MockChooserController::ConnectedPairedStatus::NONE); 201 MockChooserController::ConnectedPairedStatus::NONE);
196 202
197 mock_chooser_controller_->OptionUpdated( 203 mock_chooser_controller_->OptionUpdated(
198 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"), 204 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
199 MockChooserController::kNoSignalStrengthLevelImage, 205 MockChooserController::kNoSignalStrengthLevelImage,
200 MockChooserController::ConnectedPairedStatus::CONNECTED | 206 MockChooserController::ConnectedPairedStatus::CONNECTED |
201 MockChooserController::ConnectedPairedStatus::PAIRED); 207 MockChooserController::ConnectedPairedStatus::PAIRED);
202 EXPECT_EQ(3, table_view_->RowCount()); 208 EXPECT_EQ(3, table_view_->RowCount());
203 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 209 EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
204 EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(1, 0)); 210 EXPECT_EQ(GetPairedText("d"), table_model_->GetText(1, 0));
205 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0)); 211 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0));
206 EXPECT_TRUE(table_view_->enabled()); 212 EXPECT_TRUE(table_view_->enabled());
207 EXPECT_EQ(0, table_view_->SelectedRowCount()); 213 EXPECT_EQ(0, table_view_->SelectedRowCount());
208 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 214 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
209 } 215 }
210 216
211 TEST_F(ChooserContentViewTest, AddAndRemoveOption) { 217 TEST_F(ChooserContentViewTest, AddAndRemoveOption) {
212 // Called from TableView::OnItemsRemoved(). 218 // Called from TableView::OnItemsRemoved().
213 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3); 219 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
214 220
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 262
257 mock_chooser_controller_->OptionUpdated( 263 mock_chooser_controller_->OptionUpdated(
258 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"), 264 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
259 MockChooserController::kNoSignalStrengthLevelImage, 265 MockChooserController::kNoSignalStrengthLevelImage,
260 MockChooserController::ConnectedPairedStatus::CONNECTED | 266 MockChooserController::ConnectedPairedStatus::CONNECTED |
261 MockChooserController::ConnectedPairedStatus::PAIRED); 267 MockChooserController::ConnectedPairedStatus::PAIRED);
262 268
263 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d")); 269 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
264 270
265 EXPECT_EQ(2, table_view_->RowCount()); 271 EXPECT_EQ(2, table_view_->RowCount());
266 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 272 EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
267 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0)); 273 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0));
268 EXPECT_TRUE(table_view_->enabled()); 274 EXPECT_TRUE(table_view_->enabled());
269 EXPECT_EQ(0, table_view_->SelectedRowCount()); 275 EXPECT_EQ(0, table_view_->SelectedRowCount());
270 EXPECT_EQ(-1, table_view_->FirstSelectedRow()); 276 EXPECT_EQ(-1, table_view_->FirstSelectedRow());
271 } 277 }
272 278
273 TEST_F(ChooserContentViewTest, SelectAndDeselectAnOption) { 279 TEST_F(ChooserContentViewTest, SelectAndDeselectAnOption) {
274 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(4); 280 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(4);
275 281
276 mock_chooser_controller_->OptionAdded( 282 mock_chooser_controller_->OptionAdded(
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 428
423 // Update option 1. 429 // Update option 1.
424 mock_chooser_controller_->OptionUpdated( 430 mock_chooser_controller_->OptionUpdated(
425 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"), 431 base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
426 MockChooserController::kNoSignalStrengthLevelImage, 432 MockChooserController::kNoSignalStrengthLevelImage,
427 MockChooserController::ConnectedPairedStatus::CONNECTED | 433 MockChooserController::ConnectedPairedStatus::CONNECTED |
428 MockChooserController::ConnectedPairedStatus::PAIRED); 434 MockChooserController::ConnectedPairedStatus::PAIRED);
429 435
430 EXPECT_EQ(1, table_view_->SelectedRowCount()); 436 EXPECT_EQ(1, table_view_->SelectedRowCount());
431 EXPECT_EQ(1, table_view_->FirstSelectedRow()); 437 EXPECT_EQ(1, table_view_->FirstSelectedRow());
432 EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); 438 EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
433 EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(1, 0)); 439 EXPECT_EQ(GetPairedText("d"), table_model_->GetText(1, 0));
434 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0)); 440 EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0));
435 } 441 }
436 442
437 TEST_F(ChooserContentViewTest, 443 TEST_F(ChooserContentViewTest,
438 AddAnOptionAndSelectItAndRemoveTheSelectedOption) { 444 AddAnOptionAndSelectItAndRemoveTheSelectedOption) {
439 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2); 445 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2);
440 446
441 mock_chooser_controller_->OptionAdded( 447 mock_chooser_controller_->OptionAdded(
442 base::ASCIIToUTF16("a"), 448 base::ASCIIToUTF16("a"),
443 MockChooserController::kNoSignalStrengthLevelImage, 449 MockChooserController::kNoSignalStrengthLevelImage,
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 643
638 TEST_F(ChooserContentViewTest, ClickRescanLink) { 644 TEST_F(ChooserContentViewTest, ClickRescanLink) {
639 EXPECT_CALL(*mock_chooser_controller_, RefreshOptions()).Times(1); 645 EXPECT_CALL(*mock_chooser_controller_, RefreshOptions()).Times(1);
640 chooser_content_view_->LinkClicked(nullptr, 0); 646 chooser_content_view_->LinkClicked(nullptr, 0);
641 } 647 }
642 648
643 TEST_F(ChooserContentViewTest, ClickStyledLabelLink) { 649 TEST_F(ChooserContentViewTest, ClickStyledLabelLink) {
644 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1); 650 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1);
645 styled_label_->LinkClicked(nullptr, 0); 651 styled_label_->LinkClicked(nullptr, 0);
646 } 652 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/chooser_content_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698