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

Side by Side Diff: chrome/common/extensions/permissions/permissions_data_unittest.cc

Issue 18854021: Making the extension permissions dialog scrollable, when needed (adding expandable sections for thi… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Polishing Created 7 years, 5 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 <vector> 5 #include <vector>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/strings/string16.h" 9 #include "base/strings/string16.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 EXPECT_EQ(kTests[i].expect_success, 195 EXPECT_EQ(kTests[i].expect_success,
196 extension->HasAPIPermission(kTests[i].permission_name)) 196 extension->HasAPIPermission(kTests[i].permission_name))
197 << "Permission being tested: " << kTests[i].permission_name; 197 << "Permission being tested: " << kTests[i].permission_name;
198 } 198 }
199 } 199 }
200 200
201 TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyAPIPermissions) { 201 TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyAPIPermissions) {
202 scoped_refptr<Extension> extension; 202 scoped_refptr<Extension> extension;
203 extension = LoadManifest("permissions", "many-apis.json"); 203 extension = LoadManifest("permissions", "many-apis.json");
204 std::vector<string16> warnings = 204 std::vector<string16> warnings =
205 PermissionsData::GetPermissionMessageStrings(extension.get()); 205 PermissionsData::GetPermissionMessageStrings(extension.get(), false);
206 ASSERT_EQ(6u, warnings.size()); 206 ASSERT_EQ(6u, warnings.size());
207 EXPECT_EQ("Access your data on api.flickr.com", 207 EXPECT_EQ("Access your data on api.flickr.com",
208 UTF16ToUTF8(warnings[0])); 208 UTF16ToUTF8(warnings[0]));
209 EXPECT_EQ("Read and modify your bookmarks", UTF16ToUTF8(warnings[1])); 209 EXPECT_EQ("Read and modify your bookmarks", UTF16ToUTF8(warnings[1]));
210 EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[2])); 210 EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[2]));
211 EXPECT_EQ("Read and modify your browsing history", UTF16ToUTF8(warnings[3])); 211 EXPECT_EQ("Read and modify your browsing history", UTF16ToUTF8(warnings[3]));
212 EXPECT_EQ("Access your tabs and browsing activity", UTF16ToUTF8(warnings[4])); 212 EXPECT_EQ("Access your tabs and browsing activity", UTF16ToUTF8(warnings[4]));
213 EXPECT_EQ("Manage your apps, extensions, and themes", 213 EXPECT_EQ("Manage your apps, extensions, and themes",
214 UTF16ToUTF8(warnings[5])); 214 UTF16ToUTF8(warnings[5]));
215 } 215 }
216 216
217 TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyHostsPermissions) {
218 scoped_refptr<Extension> extension;
219 extension = LoadManifest("permissions", "more-than-3-hosts.json");
220 std::vector<string16> warnings =
221 PermissionsData::GetPermissionMessageStrings(extension.get(), false);
222 std::vector<string16> warnings_details =
223 PermissionsData::GetPermissionMessageStrings(extension.get(), true);
224 ASSERT_EQ(1u, warnings.size());
225 ASSERT_EQ(1u, warnings_details.size());
226 EXPECT_EQ("Access your data on 5 websites", UTF16ToUTF8(warnings[0]));
227 EXPECT_EQ("- www.a.com\n- www.b.com\n- www.c.com\n- www.d.com\n- www.e.com",
228 UTF16ToUTF8(warnings_details[0]));
229 }
230
217 TEST(ExtensionPermissionsTest, GetPermissionMessages_LocationApiPermission) { 231 TEST(ExtensionPermissionsTest, GetPermissionMessages_LocationApiPermission) {
218 scoped_refptr<Extension> extension; 232 scoped_refptr<Extension> extension;
219 extension = LoadManifest("permissions", 233 extension = LoadManifest("permissions",
220 "location-api.json", 234 "location-api.json",
221 Manifest::COMPONENT, 235 Manifest::COMPONENT,
222 Extension::NO_FLAGS); 236 Extension::NO_FLAGS);
223 std::vector<string16> warnings = 237 std::vector<string16> warnings =
224 PermissionsData::GetPermissionMessageStrings(extension.get()); 238 PermissionsData::GetPermissionMessageStrings(extension.get(), false);
225 ASSERT_EQ(1u, warnings.size()); 239 ASSERT_EQ(1u, warnings.size());
226 EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[0])); 240 EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[0]));
227 } 241 }
228 242
229 TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyHosts) { 243 TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyHosts) {
230 scoped_refptr<Extension> extension; 244 scoped_refptr<Extension> extension;
231 extension = LoadManifest("permissions", "many-hosts.json"); 245 extension = LoadManifest("permissions", "many-hosts.json");
232 std::vector<string16> warnings = 246 std::vector<string16> warnings =
233 PermissionsData::GetPermissionMessageStrings(extension.get()); 247 PermissionsData::GetPermissionMessageStrings(extension.get(), false);
234 ASSERT_EQ(1u, warnings.size()); 248 ASSERT_EQ(1u, warnings.size());
235 EXPECT_EQ("Access your data on encrypted.google.com and www.google.com", 249 EXPECT_EQ("Access your data on encrypted.google.com and www.google.com",
236 UTF16ToUTF8(warnings[0])); 250 UTF16ToUTF8(warnings[0]));
237 } 251 }
238 252
239 TEST(ExtensionPermissionsTest, GetPermissionMessages_Plugins) { 253 TEST(ExtensionPermissionsTest, GetPermissionMessages_Plugins) {
240 scoped_refptr<Extension> extension; 254 scoped_refptr<Extension> extension;
241 extension = LoadManifest("permissions", "plugins.json"); 255 extension = LoadManifest("permissions", "plugins.json");
242 std::vector<string16> warnings = 256 std::vector<string16> warnings =
243 PermissionsData::GetPermissionMessageStrings(extension.get()); 257 PermissionsData::GetPermissionMessageStrings(extension.get(), false);
244 // We don't parse the plugins key on Chrome OS, so it should not ask for any 258 // We don't parse the plugins key on Chrome OS, so it should not ask for any
245 // permissions. 259 // permissions.
246 #if defined(OS_CHROMEOS) 260 #if defined(OS_CHROMEOS)
247 ASSERT_EQ(0u, warnings.size()); 261 ASSERT_EQ(0u, warnings.size());
248 #else 262 #else
249 ASSERT_EQ(1u, warnings.size()); 263 ASSERT_EQ(1u, warnings.size());
250 EXPECT_EQ("Access all data on your computer and the websites you visit", 264 EXPECT_EQ("Access all data on your computer and the websites you visit",
251 UTF16ToUTF8(warnings[0])); 265 UTF16ToUTF8(warnings[0]));
252 #endif 266 #endif
253 } 267 }
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 PermissionsData::ClearTabSpecificPermissions(extension.get(), 1); 652 PermissionsData::ClearTabSpecificPermissions(extension.get(), 1);
639 EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 1) 653 EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 1)
640 .get()); 654 .get());
641 655
642 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); 656 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0));
643 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); 657 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1));
644 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); 658 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2));
645 } 659 }
646 660
647 } // namespace extensions 661 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698