Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. |
|
vandebo (ex-Chrome)
2014/02/11 18:26:24
no (c)
Sheridan Rawlins
2014/02/13 04:57:20
Done.
| |
| 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 "base/strings/string_number_conversions.h" | 5 #include "base/strings/string_number_conversions.h" |
| 6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
| 7 #include "chrome/browser/media_galleries/media_galleries_dialog_controller_mock. h" | 7 #include "chrome/browser/media_galleries/media_galleries_dialog_controller_mock. h" |
| 8 #include "chrome/browser/storage_monitor/storage_info.h" | 8 #include "chrome/browser/storage_monitor/storage_info.h" |
| 9 #include "chrome/browser/ui/gtk/extensions/media_galleries_dialog_gtk.h" | 9 #include "chrome/browser/ui/views/extensions/media_galleries_dialog_views.h" |
| 10 #include "extensions/common/extension.h" | 10 #include "extensions/common/extension.h" |
| 11 #include "extensions/common/test_util.h" | 11 #include "extensions/common/test_util.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 13 #include "ui/views/controls/button/checkbox.h" | |
| 13 | 14 |
| 14 using ::testing::_; | 15 using ::testing::_; |
| 15 using ::testing::NiceMock; | 16 using ::testing::NiceMock; |
| 16 using ::testing::Return; | 17 using ::testing::Return; |
| 17 using ::testing::ReturnPointee; | 18 using ::testing::ReturnPointee; |
| 18 using ::testing::ReturnRef; | |
| 19 | 19 |
| 20 namespace { | 20 namespace { |
| 21 | 21 |
| 22 MediaGalleryPrefInfo MakePrefInfoForTesting(MediaGalleryPrefId id) { | 22 MediaGalleryPrefInfo MakePrefInfoForTesting(MediaGalleryPrefId id) { |
| 23 MediaGalleryPrefInfo gallery; | 23 MediaGalleryPrefInfo gallery; |
| 24 gallery.pref_id = id; | 24 gallery.pref_id = id; |
| 25 gallery.device_id = StorageInfo::MakeDeviceId(StorageInfo::FIXED_MASS_STORAGE, | 25 gallery.device_id = StorageInfo::MakeDeviceId(StorageInfo::FIXED_MASS_STORAGE, |
| 26 base::Int64ToString(id)); | 26 base::Int64ToString(id)); |
| 27 gallery.display_name = base::ASCIIToUTF16("Display Name"); | 27 gallery.display_name = base::ASCIIToUTF16("Display Name"); |
| 28 return gallery; | 28 return gallery; |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 65 MediaGalleriesDialogController::GalleryPermission( | 65 MediaGalleriesDialogController::GalleryPermission( |
| 66 MakePrefInfoForTesting(2), false)); | 66 MakePrefInfoForTesting(2), false)); |
| 67 EXPECT_CALL(controller, AttachedPermissions()). | 67 EXPECT_CALL(controller, AttachedPermissions()). |
| 68 WillRepeatedly(Return(attached_permissions)); | 68 WillRepeatedly(Return(attached_permissions)); |
| 69 | 69 |
| 70 MediaGalleriesDialogController::GalleryPermissionsVector | 70 MediaGalleriesDialogController::GalleryPermissionsVector |
| 71 unattached_permissions; | 71 unattached_permissions; |
| 72 EXPECT_CALL(controller, UnattachedPermissions()). | 72 EXPECT_CALL(controller, UnattachedPermissions()). |
| 73 WillRepeatedly(Return(unattached_permissions)); | 73 WillRepeatedly(Return(unattached_permissions)); |
| 74 | 74 |
| 75 MediaGalleriesDialogGtk dialog(&controller); | 75 MediaGalleriesDialogViews dialog(&controller); |
| 76 EXPECT_EQ(2U, dialog.checkbox_map_.size()); | 76 EXPECT_EQ(2U, dialog.checkbox_map_.size()); |
| 77 | 77 |
| 78 GtkWidget* checkbox1 = dialog.checkbox_map_[1]; | 78 views::Checkbox* checkbox1 = dialog.checkbox_map_[1]; |
| 79 ASSERT_TRUE(GTK_IS_TOGGLE_BUTTON(checkbox1)); | 79 EXPECT_TRUE(checkbox1->checked()); |
| 80 EXPECT_TRUE(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbox1))); | |
| 81 | 80 |
| 82 GtkWidget* checkbox2 = dialog.checkbox_map_[2]; | 81 views::Checkbox* checkbox2 = dialog.checkbox_map_[2]; |
| 83 ASSERT_TRUE(GTK_IS_TOGGLE_BUTTON(checkbox2)); | 82 EXPECT_FALSE(checkbox2->checked()); |
| 84 EXPECT_FALSE(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbox2))); | |
| 85 } | 83 } |
| 86 | 84 |
| 87 // Tests that toggling checkboxes updates the controller. | 85 // Tests that toggling checkboxes updates the controller. |
| 88 TEST_F(MediaGalleriesDialogTest, ToggleCheckboxes) { | 86 TEST_F(MediaGalleriesDialogTest, ToggleCheckboxes) { |
| 89 NiceMock<MediaGalleriesDialogControllerMock> controller(dummy_extension()); | 87 NiceMock<MediaGalleriesDialogControllerMock> controller(dummy_extension()); |
| 90 | 88 |
| 91 MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions; | 89 MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions; |
| 92 attached_permissions.push_back( | 90 attached_permissions.push_back( |
| 93 MediaGalleriesDialogController::GalleryPermission( | 91 MediaGalleriesDialogController::GalleryPermission( |
| 94 MakePrefInfoForTesting(1), true)); | 92 MakePrefInfoForTesting(1), true)); |
| 95 EXPECT_CALL(controller, AttachedPermissions()). | 93 EXPECT_CALL(controller, AttachedPermissions()). |
| 96 WillRepeatedly(Return(attached_permissions)); | 94 WillRepeatedly(Return(attached_permissions)); |
| 97 | 95 |
| 98 MediaGalleriesDialogController::GalleryPermissionsVector | 96 MediaGalleriesDialogController::GalleryPermissionsVector |
| 99 unattached_permissions; | 97 unattached_permissions; |
| 100 EXPECT_CALL(controller, UnattachedPermissions()). | 98 EXPECT_CALL(controller, UnattachedPermissions()). |
| 101 WillRepeatedly(Return(unattached_permissions)); | 99 WillRepeatedly(Return(unattached_permissions)); |
| 102 | 100 |
| 103 MediaGalleriesDialogGtk dialog(&controller); | 101 MediaGalleriesDialogViews dialog(&controller); |
| 104 EXPECT_EQ(1U, dialog.checkbox_map_.size()); | 102 EXPECT_EQ(1U, dialog.checkbox_map_.size()); |
| 105 GtkWidget* checkbox = | 103 views::Checkbox* checkbox = dialog.checkbox_map_[1]; |
| 106 dialog.checkbox_map_[1]; | 104 EXPECT_TRUE(checkbox->checked()); |
| 107 ASSERT_TRUE(GTK_IS_TOGGLE_BUTTON(checkbox)); | |
| 108 EXPECT_TRUE(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbox))); | |
| 109 | 105 |
| 110 EXPECT_CALL(controller, DidToggleGalleryId(1, false)); | 106 EXPECT_CALL(controller, DidToggleGalleryId(1, false)); |
| 111 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox), FALSE); | 107 checkbox->SetChecked(false); |
| 108 dialog.ButtonPressedAction(checkbox); | |
| 112 | 109 |
| 113 EXPECT_CALL(controller, DidToggleGalleryId(1, true)); | 110 EXPECT_CALL(controller, DidToggleGalleryId(1, true)); |
| 114 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox), TRUE); | 111 checkbox->SetChecked(true); |
| 112 dialog.ButtonPressedAction(checkbox); | |
| 115 } | 113 } |
| 116 | 114 |
| 117 // Tests that UpdateGallery will add a new checkbox, but only if it refers to | 115 // Tests that UpdateGallery will add a new checkbox, but only if it refers to |
| 118 // a gallery that the dialog hasn't seen before. | 116 // a gallery that the dialog hasn't seen before. |
| 119 TEST_F(MediaGalleriesDialogTest, UpdateAdds) { | 117 TEST_F(MediaGalleriesDialogTest, UpdateAdds) { |
| 120 NiceMock<MediaGalleriesDialogControllerMock> controller(dummy_extension()); | 118 NiceMock<MediaGalleriesDialogControllerMock> controller(dummy_extension()); |
| 121 | 119 |
| 122 MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions; | 120 MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions; |
| 123 EXPECT_CALL(controller, AttachedPermissions()). | 121 EXPECT_CALL(controller, AttachedPermissions()). |
| 124 WillRepeatedly(ReturnPointee(&attached_permissions)); | 122 WillRepeatedly(ReturnPointee(&attached_permissions)); |
| 125 | 123 |
| 126 MediaGalleriesDialogController::GalleryPermissionsVector | 124 MediaGalleriesDialogController::GalleryPermissionsVector |
| 127 unattached_permissions; | 125 unattached_permissions; |
| 128 EXPECT_CALL(controller, UnattachedPermissions()). | 126 EXPECT_CALL(controller, UnattachedPermissions()). |
| 129 WillRepeatedly(Return(unattached_permissions)); | 127 WillRepeatedly(Return(unattached_permissions)); |
| 130 | 128 |
| 131 MediaGalleriesDialogGtk dialog(&controller); | 129 MediaGalleriesDialogViews dialog(&controller); |
| 132 | 130 |
| 133 EXPECT_TRUE(dialog.checkbox_map_.empty()); | 131 EXPECT_TRUE(dialog.checkbox_map_.empty()); |
| 134 | 132 |
| 135 MediaGalleryPrefInfo gallery1 = MakePrefInfoForTesting(1); | 133 MediaGalleryPrefInfo gallery1 = MakePrefInfoForTesting(1); |
| 136 attached_permissions.push_back( | 134 attached_permissions.push_back( |
| 137 MediaGalleriesDialogController::GalleryPermission(gallery1, true)); | 135 MediaGalleriesDialogController::GalleryPermission(gallery1, true)); |
| 138 dialog.UpdateGalleries(); | 136 dialog.UpdateGalleries(); |
| 139 EXPECT_EQ(1U, dialog.checkbox_map_.size()); | 137 EXPECT_EQ(1U, dialog.checkbox_map_.size()); |
| 140 | 138 |
| 141 MediaGalleryPrefInfo gallery2 = MakePrefInfoForTesting(2); | 139 MediaGalleryPrefInfo gallery2 = MakePrefInfoForTesting(2); |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 155 | 153 |
| 156 MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions; | 154 MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions; |
| 157 EXPECT_CALL(controller, AttachedPermissions()). | 155 EXPECT_CALL(controller, AttachedPermissions()). |
| 158 WillRepeatedly(ReturnPointee(&attached_permissions)); | 156 WillRepeatedly(ReturnPointee(&attached_permissions)); |
| 159 | 157 |
| 160 MediaGalleriesDialogController::GalleryPermissionsVector | 158 MediaGalleriesDialogController::GalleryPermissionsVector |
| 161 unattached_permissions; | 159 unattached_permissions; |
| 162 EXPECT_CALL(controller, UnattachedPermissions()). | 160 EXPECT_CALL(controller, UnattachedPermissions()). |
| 163 WillRepeatedly(Return(unattached_permissions)); | 161 WillRepeatedly(Return(unattached_permissions)); |
| 164 | 162 |
| 165 MediaGalleriesDialogGtk dialog(&controller); | 163 MediaGalleriesDialogViews dialog(&controller); |
| 166 | 164 |
| 167 EXPECT_TRUE(dialog.checkbox_map_.empty()); | 165 EXPECT_TRUE(dialog.checkbox_map_.empty()); |
| 168 | 166 |
| 169 MediaGalleryPrefInfo gallery1 = MakePrefInfoForTesting(1); | 167 MediaGalleryPrefInfo gallery1 = MakePrefInfoForTesting(1); |
| 170 attached_permissions.push_back( | 168 attached_permissions.push_back( |
| 171 MediaGalleriesDialogController::GalleryPermission(gallery1, true)); | 169 MediaGalleriesDialogController::GalleryPermission(gallery1, true)); |
| 172 dialog.UpdateGalleries(); | 170 dialog.UpdateGalleries(); |
| 173 EXPECT_EQ(1U, dialog.checkbox_map_.size()); | 171 EXPECT_EQ(1U, dialog.checkbox_map_.size()); |
| 174 | 172 |
| 175 MediaGalleryPrefInfo gallery2 = MakePrefInfoForTesting(2); | 173 MediaGalleryPrefInfo gallery2 = MakePrefInfoForTesting(2); |
| 176 attached_permissions.push_back( | 174 attached_permissions.push_back( |
| 177 MediaGalleriesDialogController::GalleryPermission(gallery2, true)); | 175 MediaGalleriesDialogController::GalleryPermission(gallery2, true)); |
| 178 dialog.UpdateGalleries(); | 176 dialog.UpdateGalleries(); |
| 179 EXPECT_EQ(2U, dialog.checkbox_map_.size()); | 177 EXPECT_EQ(2U, dialog.checkbox_map_.size()); |
| 180 | 178 |
| 181 attached_permissions.pop_back(); | 179 attached_permissions.pop_back(); |
| 182 dialog.UpdateGalleries(); | 180 dialog.UpdateGalleries(); |
| 183 EXPECT_EQ(1U, dialog.checkbox_map_.size()); | 181 EXPECT_EQ(1U, dialog.checkbox_map_.size()); |
| 184 } | 182 } |
| OLD | NEW |