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

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

Issue 2518933004: Add multiple selection support to chooser on desktops (Closed)
Patch Set: add multiple selection support to chooser on desktops Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller.h" 5 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller.h"
6 6
7 #import <Cocoa/Cocoa.h> 7 #import <Cocoa/Cocoa.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
(...skipping 1074 matching lines...) Expand 10 before | Expand all | Expand 10 after
1085 EXPECT_TRUE(spinner_.hidden); 1085 EXPECT_TRUE(spinner_.hidden);
1086 EXPECT_TRUE(scanning_message_.hidden); 1086 EXPECT_TRUE(scanning_message_.hidden);
1087 EXPECT_FALSE(word_connector_.hidden); 1087 EXPECT_FALSE(word_connector_.hidden);
1088 EXPECT_FALSE(rescan_button_.hidden); 1088 EXPECT_FALSE(rescan_button_.hidden);
1089 EXPECT_NSEQ(l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN), 1089 EXPECT_NSEQ(l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN),
1090 rescan_button_.title); 1090 rescan_button_.title);
1091 EXPECT_TRUE(connect_button_.enabled); 1091 EXPECT_TRUE(connect_button_.enabled);
1092 EXPECT_TRUE(cancel_button_.enabled); 1092 EXPECT_TRUE(cancel_button_.enabled);
1093 } 1093 }
1094 1094
1095 TEST_F(ChooserDialogCocoaControllerTest, MultipleSelection) {
1096 CreateChooserDialog();
1097 [table_view_ setAllowsMultipleSelection:YES];
1098
1099 mock_chooser_controller_->OptionAdded(
1100 base::ASCIIToUTF16("a"),
1101 MockChooserController::kNoSignalStrengthLevelImage,
1102 MockChooserController::ConnectedPairedStatus::CONNECTED |
1103 MockChooserController::ConnectedPairedStatus::PAIRED);
1104 mock_chooser_controller_->OptionAdded(
1105 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
1106 MockChooserController::ConnectedPairedStatus::NONE);
1107 mock_chooser_controller_->OptionAdded(
1108 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
1109 MockChooserController::ConnectedPairedStatus::NONE);
1110 mock_chooser_controller_->OptionAdded(
1111 base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar,
1112 MockChooserController::ConnectedPairedStatus::NONE);
1113 mock_chooser_controller_->OptionAdded(
1114 base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar,
1115 MockChooserController::ConnectedPairedStatus::NONE);
1116 mock_chooser_controller_->OptionAdded(
1117 base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar,
1118 MockChooserController::ConnectedPairedStatus::NONE);
1119
1120 NSMutableIndexSet* selected_rows = [NSMutableIndexSet indexSet];
1121 // Select options "a", "c", "d".
1122 [selected_rows addIndex:0];
1123 [selected_rows addIndex:2];
1124 [selected_rows addIndex:3];
1125 [table_view_ selectRowIndexes:selected_rows byExtendingSelection:NO];
1126
1127 // The options are: [a] b [c] [d] e f. The option with [] is selected.
1128 EXPECT_NSEQ(selected_rows, [table_view_ selectedRowIndexes]);
1129 ExpectRowImageIsConnectedImage(0, SK_ColorWHITE);
1130 ExpectSignalStrengthLevelImageIs(
1131 1, MockChooserController::kSignalStrengthLevel0Bar,
1132 MockChooserController::kImageColorUnselected);
1133 ExpectSignalStrengthLevelImageIs(
1134 2, MockChooserController::kSignalStrengthLevel1Bar,
1135 MockChooserController::kImageColorSelected);
1136 ExpectSignalStrengthLevelImageIs(
1137 3, MockChooserController::kSignalStrengthLevel2Bar,
1138 MockChooserController::kImageColorSelected);
1139 ExpectSignalStrengthLevelImageIs(
1140 4, MockChooserController::kSignalStrengthLevel3Bar,
1141 MockChooserController::kImageColorUnselected);
1142 ExpectSignalStrengthLevelImageIs(
1143 5, MockChooserController::kSignalStrengthLevel4Bar,
1144 MockChooserController::kImageColorUnselected);
1145 ExpectRowTextColorIs(0, [NSColor whiteColor]);
1146 ExpectRowTextColorIs(1, [NSColor blackColor]);
1147 ExpectRowTextColorIs(2, [NSColor whiteColor]);
1148 ExpectRowTextColorIs(3, [NSColor whiteColor]);
1149 ExpectRowTextColorIs(4, [NSColor blackColor]);
1150 ExpectRowTextColorIs(5, [NSColor blackColor]);
1151 ExpectPairedTextColorIs(
1152 0, skia::SkColorToCalibratedNSColor(gfx::kGoogleGreen300));
1153 EXPECT_TRUE(connect_button_.enabled);
1154
1155 // Remove option "b".
1156 // The options are: [a] [c] [d] e f.
1157 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
1158 EXPECT_TRUE([table_view_ isRowSelected:0]);
1159 EXPECT_TRUE([table_view_ isRowSelected:1]);
1160 EXPECT_TRUE([table_view_ isRowSelected:2]);
1161 EXPECT_FALSE([table_view_ isRowSelected:3]);
1162 EXPECT_FALSE([table_view_ isRowSelected:4]);
1163 EXPECT_TRUE(connect_button_.enabled);
1164
1165 // Remove option "c".
1166 // The options are: [a] [d] e f.
1167 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
1168 EXPECT_TRUE([table_view_ isRowSelected:0]);
1169 EXPECT_TRUE([table_view_ isRowSelected:1]);
1170 EXPECT_FALSE([table_view_ isRowSelected:2]);
1171 EXPECT_FALSE([table_view_ isRowSelected:3]);
1172 EXPECT_TRUE(connect_button_.enabled);
1173
1174 // Remove option "a".
1175 // The options are: [d] e f.
1176 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
1177 EXPECT_TRUE([table_view_ isRowSelected:0]);
1178 EXPECT_FALSE([table_view_ isRowSelected:1]);
1179 EXPECT_FALSE([table_view_ isRowSelected:2]);
1180 EXPECT_TRUE(connect_button_.enabled);
1181
1182 // Remove option "d".
1183 // The options are: e f.
1184 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
1185 EXPECT_FALSE([table_view_ isRowSelected:0]);
1186 EXPECT_FALSE([table_view_ isRowSelected:1]);
1187 EXPECT_FALSE(connect_button_.enabled);
1188 }
1189
1095 TEST_F(ChooserDialogCocoaControllerTest, PressAdapterOffHelpButton) { 1190 TEST_F(ChooserDialogCocoaControllerTest, PressAdapterOffHelpButton) {
1096 CreateChooserDialog(); 1191 CreateChooserDialog();
1097 1192
1098 EXPECT_CALL(*mock_chooser_controller_, OpenAdapterOffHelpUrl()).Times(1); 1193 EXPECT_CALL(*mock_chooser_controller_, OpenAdapterOffHelpUrl()).Times(1);
1099 [adapter_off_help_button_ performClick:chooser_dialog_controller_]; 1194 [adapter_off_help_button_ performClick:chooser_dialog_controller_];
1100 } 1195 }
1101 1196
1102 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) { 1197 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) {
1103 CreateChooserDialog(); 1198 CreateChooserDialog();
1104 1199
(...skipping 17 matching lines...) Expand all
1122 MockChooserController::ConnectedPairedStatus::NONE); 1217 MockChooserController::ConnectedPairedStatus::NONE);
1123 1218
1124 // Select option 0 and press "Get help" button. 1219 // Select option 0 and press "Get help" button.
1125 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 1220 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
1126 byExtendingSelection:NO]; 1221 byExtendingSelection:NO];
1127 EXPECT_CALL(*mock_chooser_controller_, Select(testing::_)).Times(0); 1222 EXPECT_CALL(*mock_chooser_controller_, Select(testing::_)).Times(0);
1128 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0); 1223 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0);
1129 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1); 1224 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1);
1130 [help_button_ performClick:chooser_dialog_controller_]; 1225 [help_button_ performClick:chooser_dialog_controller_];
1131 } 1226 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698