OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |