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

Side by Side Diff: chrome/browser/extensions/extension_prefs_unittest.cc

Issue 10824116: Store Media gallery permissions in extension prefs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments and rebase Created 8 years, 4 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) 2012 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 "extension_prefs_unittest.h" 5 #include "extension_prefs_unittest.h"
6 6
7 #include "base/basictypes.h"
7 #include "base/path_service.h" 8 #include "base/path_service.h"
8 #include "base/scoped_temp_dir.h" 9 #include "base/scoped_temp_dir.h"
9 #include "base/stl_util.h" 10 #include "base/stl_util.h"
10 #include "base/string_number_conversions.h" 11 #include "base/string_number_conversions.h"
11 #include "base/stringprintf.h" 12 #include "base/stringprintf.h"
12 #include "base/values.h" 13 #include "base/values.h"
13 #include "chrome/browser/extensions/extension_prefs.h" 14 #include "chrome/browser/extensions/extension_prefs.h"
14 #include "chrome/browser/extensions/extension_pref_value_map.h" 15 #include "chrome/browser/extensions/extension_pref_value_map.h"
15 #include "chrome/browser/prefs/pref_change_registrar.h" 16 #include "chrome/browser/prefs/pref_change_registrar.h"
16 #include "chrome/browser/prefs/scoped_user_pref_update.h" 17 #include "chrome/browser/prefs/scoped_user_pref_update.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 EXPECT_TRUE(result == blacklist_time_); 95 EXPECT_TRUE(result == blacklist_time_);
95 } 96 }
96 97
97 private: 98 private:
98 Time extension_time_; 99 Time extension_time_;
99 Time blacklist_time_; 100 Time blacklist_time_;
100 std::string extension_id_; 101 std::string extension_id_;
101 }; 102 };
102 TEST_F(ExtensionPrefsLastPingDay, LastPingDay) {} 103 TEST_F(ExtensionPrefsLastPingDay, LastPingDay) {}
103 104
105 namespace {
106
107 void AddGalleryPermission(MediaGalleryPrefId gallery, bool has_access,
108 std::vector<MediaGalleryPermission>* vector) {
109 MediaGalleryPermission permission;
110 permission.pref_id = gallery;
111 permission.has_permission = has_access;
112 vector->push_back(permission);
113 }
114
115 } // namspace
116
117 // Test the MediaGalleries permissions functions.
118 class MediaGalleriesPermissions : public ExtensionPrefsTest {
119 public:
120 virtual void Initialize() {
121 extension1_id_ = prefs_.AddExtensionAndReturnId("test1");
122 extension2_id_ = prefs_.AddExtensionAndReturnId("test2");
123 extension3_id_ = prefs_.AddExtensionAndReturnId("test3");
124 // Id4 isn't used to ensure that an empty permission list is ok.
125 extension4_id_ = prefs_.AddExtensionAndReturnId("test4");
126 Verify();
127
128 prefs()->SetMediaGalleryPermission(extension1_id_, 1, false);
129 AddGalleryPermission(1, false, &extension1_expectation_);
130 Verify();
131
132 prefs()->SetMediaGalleryPermission(extension1_id_, 2, true);
133 AddGalleryPermission(2, true, &extension1_expectation_);
134 Verify();
135
136 prefs()->SetMediaGalleryPermission(extension1_id_, 2, false);
137 extension1_expectation_[1].has_permission = false;
138 Verify();
139
140 prefs()->SetMediaGalleryPermission(extension2_id_, 1, true);
141 prefs()->SetMediaGalleryPermission(extension2_id_, 3, true);
142 prefs()->SetMediaGalleryPermission(extension2_id_, 4, true);
143 AddGalleryPermission(1, true, &extension2_expectation_);
144 AddGalleryPermission(3, true, &extension2_expectation_);
145 AddGalleryPermission(4, true, &extension2_expectation_);
146 Verify();
147
148 prefs()->SetMediaGalleryPermission(extension3_id_, 3, true);
149 AddGalleryPermission(3, true, &extension3_expectation_);
150 Verify();
151
152 prefs()->RemoveMediaGalleryPermissions(3);
153 extension2_expectation_.erase(extension2_expectation_.begin() + 1);
154 extension3_expectation_.erase(extension3_expectation_.begin());
155 Verify();
156 }
157
158 virtual void Verify() {
159 struct TestData {
160 std::string* id;
161 std::vector<MediaGalleryPermission>* expectation;
162 };
163
164 const TestData test_data[] = {{&extension1_id_, &extension1_expectation_},
165 {&extension2_id_, &extension2_expectation_},
166 {&extension3_id_, &extension3_expectation_},
167 {&extension4_id_, &extension4_expectation_}};
168 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); i++) {
169 std::vector<MediaGalleryPermission> actual =
170 prefs()->GetMediaGalleryPermissions(*test_data[i].id);
171 EXPECT_EQ(test_data[i].expectation->size(), actual.size());
172 for (size_t permission_entry = 0;
173 permission_entry < test_data[i].expectation->size() &&
174 permission_entry < actual.size();
175 permission_entry++) {
176 EXPECT_EQ(test_data[i].expectation->at(permission_entry).pref_id,
177 actual[permission_entry].pref_id);
178 EXPECT_EQ(test_data[i].expectation->at(permission_entry).has_permission,
179 actual[permission_entry].has_permission);
180 }
181 }
182 }
183
184 private:
185 std::string extension1_id_;
186 std::string extension2_id_;
187 std::string extension3_id_;
188 std::string extension4_id_;
189
190 std::vector<MediaGalleryPermission> extension1_expectation_;
191 std::vector<MediaGalleryPermission> extension2_expectation_;
192 std::vector<MediaGalleryPermission> extension3_expectation_;
193 std::vector<MediaGalleryPermission> extension4_expectation_;
194 };
195 TEST_F(MediaGalleriesPermissions, MediaGalleries) {}
104 196
105 // Tests the GetToolbarOrder/SetToolbarOrder functions. 197 // Tests the GetToolbarOrder/SetToolbarOrder functions.
106 class ExtensionPrefsToolbarOrder : public ExtensionPrefsTest { 198 class ExtensionPrefsToolbarOrder : public ExtensionPrefsTest {
107 public: 199 public:
108 virtual void Initialize() { 200 virtual void Initialize() {
109 list_.push_back(prefs_.AddExtensionAndReturnId("1")); 201 list_.push_back(prefs_.AddExtensionAndReturnId("1"));
110 list_.push_back(prefs_.AddExtensionAndReturnId("2")); 202 list_.push_back(prefs_.AddExtensionAndReturnId("2"));
111 list_.push_back(prefs_.AddExtensionAndReturnId("3")); 203 list_.push_back(prefs_.AddExtensionAndReturnId("3"));
112 std::vector<std::string> before_list = prefs()->GetToolbarOrder(); 204 std::vector<std::string> before_list = prefs()->GetToolbarOrder();
113 EXPECT_TRUE(before_list.empty()); 205 EXPECT_TRUE(before_list.empty());
(...skipping 1047 matching lines...) Expand 10 before | Expand all | Expand 10 after
1161 EXPECT_EQ(string16(), error16); 1253 EXPECT_EQ(string16(), error16);
1162 EXPECT_TRUE(prefs()->UserMayModifySettings(extension_.get(), &error16)); 1254 EXPECT_TRUE(prefs()->UserMayModifySettings(extension_.get(), &error16));
1163 EXPECT_EQ(string16(), error16); 1255 EXPECT_EQ(string16(), error16);
1164 EXPECT_FALSE(prefs()->MustRemainEnabled(extension_.get(), &error16)); 1256 EXPECT_FALSE(prefs()->MustRemainEnabled(extension_.get(), &error16));
1165 EXPECT_EQ(string16(), error16); 1257 EXPECT_EQ(string16(), error16);
1166 } 1258 }
1167 }; 1259 };
1168 TEST_F(ExtensionPrefsNotRequiredExtension, NotRequiredExtension) {} 1260 TEST_F(ExtensionPrefsNotRequiredExtension, NotRequiredExtension) {}
1169 1261
1170 } // namespace extensions 1262 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | chrome/browser/media_gallery/media_galleries_preferences.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698