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 |