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

Side by Side Diff: chrome/browser/ui/views/extensions/media_galleries_dialog_views_unittest.cc

Issue 134163014: Added tests for views flavor of MediaGalleriesDialogTest. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update comment for ownership of contents_ when testing. Created 6 years, 10 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2014 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 #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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/extensions/media_galleries_dialog_views.cc ('k') | chrome/chrome_tests_unit.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698