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

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: address comments 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 831 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 mock_chooser_controller_->OptionAdded( 842 mock_chooser_controller_->OptionAdded(
843 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, 843 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
844 MockChooserController::ConnectedPairedStatus::NONE); 844 MockChooserController::ConnectedPairedStatus::NONE);
845 mock_chooser_controller_->OptionAdded( 845 mock_chooser_controller_->OptionAdded(
846 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, 846 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
847 MockChooserController::ConnectedPairedStatus::NONE); 847 MockChooserController::ConnectedPairedStatus::NONE);
848 848
849 // Select option 0 and press "Connect" button. 849 // Select option 0 and press "Connect" button.
850 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 850 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
851 byExtendingSelection:NO]; 851 byExtendingSelection:NO];
852 EXPECT_CALL(*mock_chooser_controller_, Select(0)).Times(1); 852 std::vector<size_t> indices(1);
853 indices[0] = 0;
854 EXPECT_CALL(*mock_chooser_controller_, Select(indices)).Times(1);
853 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0); 855 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0);
854 [connect_button_ performClick:chooser_dialog_controller_]; 856 [connect_button_ performClick:chooser_dialog_controller_];
855 857
856 // Select option 2 and press "Connect" button. 858 // Select option 2 and press "Connect" button.
857 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:2] 859 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:2]
858 byExtendingSelection:NO]; 860 byExtendingSelection:NO];
859 EXPECT_CALL(*mock_chooser_controller_, Select(2)).Times(1); 861 indices[0] = 2;
862 EXPECT_CALL(*mock_chooser_controller_, Select(indices)).Times(1);
860 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0); 863 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0);
861 [connect_button_ performClick:chooser_dialog_controller_]; 864 [connect_button_ performClick:chooser_dialog_controller_];
862 } 865 }
863 866
864 TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndPressCancelButton) { 867 TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndPressCancelButton) {
865 CreateChooserDialog(); 868 CreateChooserDialog();
866 869
867 mock_chooser_controller_->OptionAdded( 870 mock_chooser_controller_->OptionAdded(
868 base::ASCIIToUTF16("a"), 871 base::ASCIIToUTF16("a"),
869 MockChooserController::kNoSignalStrengthLevelImage, 872 MockChooserController::kNoSignalStrengthLevelImage,
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
1085 EXPECT_TRUE(spinner_.hidden); 1088 EXPECT_TRUE(spinner_.hidden);
1086 EXPECT_TRUE(scanning_message_.hidden); 1089 EXPECT_TRUE(scanning_message_.hidden);
1087 EXPECT_FALSE(word_connector_.hidden); 1090 EXPECT_FALSE(word_connector_.hidden);
1088 EXPECT_FALSE(rescan_button_.hidden); 1091 EXPECT_FALSE(rescan_button_.hidden);
1089 EXPECT_NSEQ(l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN), 1092 EXPECT_NSEQ(l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN),
1090 rescan_button_.title); 1093 rescan_button_.title);
1091 EXPECT_TRUE(connect_button_.enabled); 1094 EXPECT_TRUE(connect_button_.enabled);
1092 EXPECT_TRUE(cancel_button_.enabled); 1095 EXPECT_TRUE(cancel_button_.enabled);
1093 } 1096 }
1094 1097
1098 TEST_F(ChooserDialogCocoaControllerTest, MultipleSelection) {
1099 CreateChooserDialog();
1100 [table_view_ setAllowsMultipleSelection:YES];
1101
1102 mock_chooser_controller_->OptionAdded(
1103 base::ASCIIToUTF16("a"),
1104 MockChooserController::kNoSignalStrengthLevelImage,
1105 MockChooserController::ConnectedPairedStatus::CONNECTED |
1106 MockChooserController::ConnectedPairedStatus::PAIRED);
1107 mock_chooser_controller_->OptionAdded(
1108 base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
1109 MockChooserController::ConnectedPairedStatus::NONE);
1110 mock_chooser_controller_->OptionAdded(
1111 base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
1112 MockChooserController::ConnectedPairedStatus::NONE);
1113 mock_chooser_controller_->OptionAdded(
1114 base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar,
1115 MockChooserController::ConnectedPairedStatus::NONE);
1116 mock_chooser_controller_->OptionAdded(
1117 base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar,
1118 MockChooserController::ConnectedPairedStatus::NONE);
1119 mock_chooser_controller_->OptionAdded(
1120 base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar,
1121 MockChooserController::ConnectedPairedStatus::NONE);
1122
1123 NSMutableIndexSet* selected_rows = [NSMutableIndexSet indexSet];
1124 // Select options "a", "c", "d".
1125 [selected_rows addIndex:0];
1126 [selected_rows addIndex:2];
1127 [selected_rows addIndex:3];
1128 [table_view_ selectRowIndexes:selected_rows byExtendingSelection:NO];
1129
1130 // The options are: [a] b [c] [d] e f. The option with [] is selected.
1131 EXPECT_NSEQ(selected_rows, [table_view_ selectedRowIndexes]);
1132 ExpectRowImageIsConnectedImage(0, SK_ColorWHITE);
1133 ExpectSignalStrengthLevelImageIs(
1134 1, MockChooserController::kSignalStrengthLevel0Bar,
1135 MockChooserController::kImageColorUnselected);
1136 ExpectSignalStrengthLevelImageIs(
1137 2, MockChooserController::kSignalStrengthLevel1Bar,
1138 MockChooserController::kImageColorSelected);
1139 ExpectSignalStrengthLevelImageIs(
1140 3, MockChooserController::kSignalStrengthLevel2Bar,
1141 MockChooserController::kImageColorSelected);
1142 ExpectSignalStrengthLevelImageIs(
1143 4, MockChooserController::kSignalStrengthLevel3Bar,
1144 MockChooserController::kImageColorUnselected);
1145 ExpectSignalStrengthLevelImageIs(
1146 5, MockChooserController::kSignalStrengthLevel4Bar,
1147 MockChooserController::kImageColorUnselected);
1148 ExpectRowTextColorIs(0, [NSColor whiteColor]);
1149 ExpectRowTextColorIs(1, [NSColor blackColor]);
1150 ExpectRowTextColorIs(2, [NSColor whiteColor]);
1151 ExpectRowTextColorIs(3, [NSColor whiteColor]);
1152 ExpectRowTextColorIs(4, [NSColor blackColor]);
1153 ExpectRowTextColorIs(5, [NSColor blackColor]);
1154 ExpectPairedTextColorIs(
1155 0, skia::SkColorToCalibratedNSColor(gfx::kGoogleGreen300));
1156 EXPECT_TRUE(connect_button_.enabled);
1157
1158 // Remove option "b".
1159 // The options are: [a] [c] [d] e f.
1160 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
1161 EXPECT_TRUE([table_view_ isRowSelected:0]);
1162 EXPECT_TRUE([table_view_ isRowSelected:1]);
1163 EXPECT_TRUE([table_view_ isRowSelected:2]);
1164 EXPECT_FALSE([table_view_ isRowSelected:3]);
1165 EXPECT_FALSE([table_view_ isRowSelected:4]);
1166 EXPECT_TRUE(connect_button_.enabled);
1167
1168 // Remove option "c".
1169 // The options are: [a] [d] e f.
1170 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
1171 EXPECT_TRUE([table_view_ isRowSelected:0]);
1172 EXPECT_TRUE([table_view_ isRowSelected:1]);
1173 EXPECT_FALSE([table_view_ isRowSelected:2]);
1174 EXPECT_FALSE([table_view_ isRowSelected:3]);
1175 EXPECT_TRUE(connect_button_.enabled);
1176
1177 // Remove option "a".
1178 // The options are: [d] e f.
1179 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
1180 EXPECT_TRUE([table_view_ isRowSelected:0]);
1181 EXPECT_FALSE([table_view_ isRowSelected:1]);
1182 EXPECT_FALSE([table_view_ isRowSelected:2]);
1183 EXPECT_TRUE(connect_button_.enabled);
1184
1185 // Remove option "d".
1186 // The options are: e f.
1187 mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
1188 EXPECT_FALSE([table_view_ isRowSelected:0]);
1189 EXPECT_FALSE([table_view_ isRowSelected:1]);
1190 EXPECT_FALSE(connect_button_.enabled);
1191 }
1192
1095 TEST_F(ChooserDialogCocoaControllerTest, PressAdapterOffHelpButton) { 1193 TEST_F(ChooserDialogCocoaControllerTest, PressAdapterOffHelpButton) {
1096 CreateChooserDialog(); 1194 CreateChooserDialog();
1097 1195
1098 EXPECT_CALL(*mock_chooser_controller_, OpenAdapterOffHelpUrl()).Times(1); 1196 EXPECT_CALL(*mock_chooser_controller_, OpenAdapterOffHelpUrl()).Times(1);
1099 [adapter_off_help_button_ performClick:chooser_dialog_controller_]; 1197 [adapter_off_help_button_ performClick:chooser_dialog_controller_];
1100 } 1198 }
1101 1199
1102 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) { 1200 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) {
1103 CreateChooserDialog(); 1201 CreateChooserDialog();
1104 1202
(...skipping 17 matching lines...) Expand all
1122 MockChooserController::ConnectedPairedStatus::NONE); 1220 MockChooserController::ConnectedPairedStatus::NONE);
1123 1221
1124 // Select option 0 and press "Get help" button. 1222 // Select option 0 and press "Get help" button.
1125 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] 1223 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
1126 byExtendingSelection:NO]; 1224 byExtendingSelection:NO];
1127 EXPECT_CALL(*mock_chooser_controller_, Select(testing::_)).Times(0); 1225 EXPECT_CALL(*mock_chooser_controller_, Select(testing::_)).Times(0);
1128 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0); 1226 EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0);
1129 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1); 1227 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1);
1130 [help_button_ performClick:chooser_dialog_controller_]; 1228 [help_button_ performClick:chooser_dialog_controller_];
1131 } 1229 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/chooser_content_view_cocoa.mm ('k') | chrome/browser/ui/views/chooser_content_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698