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

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: Polish 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 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
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());
222 std::vector<string16> warnings_details =
223 PermissionsData::GetPermissionMessageDetailsStrings(extension.get());
224 ASSERT_EQ(1u, warnings.size());
225 ASSERT_EQ(1u, warnings_details.size());
226 #if defined(TOOLKIT_VIEWS)
227 EXPECT_EQ("Access your data on 5 website(s)", UTF16ToUTF8(warnings[0]));
228 EXPECT_EQ("- www.a.com\n- www.b.com\n- www.c.com\n- www.d.com\n- www.e.com",
229 UTF16ToUTF8(warnings_details[0]));
230 #else
231 // TODO(finnur): Remove once other platforms support expandable sections.
232 EXPECT_EQ("Access your data on www.a.com, www.b.com, and 3 other websites",
233 UTF16ToUTF8(warnings[0]));
234 EXPECT_TRUE(warnings_details[0].empty());
235 #endif
236 }
237
217 TEST(ExtensionPermissionsTest, GetPermissionMessages_LocationApiPermission) { 238 TEST(ExtensionPermissionsTest, GetPermissionMessages_LocationApiPermission) {
218 scoped_refptr<Extension> extension; 239 scoped_refptr<Extension> extension;
219 extension = LoadManifest("permissions", 240 extension = LoadManifest("permissions",
220 "location-api.json", 241 "location-api.json",
221 Manifest::COMPONENT, 242 Manifest::COMPONENT,
222 Extension::NO_FLAGS); 243 Extension::NO_FLAGS);
223 std::vector<string16> warnings = 244 std::vector<string16> warnings =
224 PermissionsData::GetPermissionMessageStrings(extension.get()); 245 PermissionsData::GetPermissionMessageStrings(extension.get());
225 ASSERT_EQ(1u, warnings.size()); 246 ASSERT_EQ(1u, warnings.size());
226 EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[0])); 247 EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[0]));
227 } 248 }
228 249
229 TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyHosts) { 250 TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyHosts) {
230 scoped_refptr<Extension> extension; 251 scoped_refptr<Extension> extension;
231 extension = LoadManifest("permissions", "many-hosts.json"); 252 extension = LoadManifest("permissions", "many-hosts.json");
232 std::vector<string16> warnings = 253 std::vector<string16> warnings =
233 PermissionsData::GetPermissionMessageStrings(extension.get()); 254 PermissionsData::GetPermissionMessageStrings(extension.get());
234 ASSERT_EQ(1u, warnings.size()); 255 ASSERT_EQ(1u, warnings.size());
235 EXPECT_EQ("Access your data on encrypted.google.com and www.google.com", 256 EXPECT_EQ("Access your data on encrypted.google.com and www.google.com",
236 UTF16ToUTF8(warnings[0])); 257 UTF16ToUTF8(warnings[0]));
237 } 258 }
238 259
239 TEST(ExtensionPermissionsTest, GetPermissionMessages_Plugins) { 260 TEST(ExtensionPermissionsTest, GetPermissionMessages_Plugins) {
240 scoped_refptr<Extension> extension; 261 scoped_refptr<Extension> extension;
241 extension = LoadManifest("permissions", "plugins.json"); 262 extension = LoadManifest("permissions", "plugins.json");
242 std::vector<string16> warnings = 263 std::vector<string16> warnings =
243 PermissionsData::GetPermissionMessageStrings(extension.get()); 264 PermissionsData::GetPermissionMessageStrings(extension.get());
244 // We don't parse the plugins key on Chrome OS, so it should not ask for any 265 // We don't parse the plugins key on Chrome OS, so it should not ask for any
245 // permissions. 266 // permissions.
246 #if defined(OS_CHROMEOS) 267 #if defined(OS_CHROMEOS)
247 ASSERT_EQ(0u, warnings.size()); 268 ASSERT_EQ(0u, warnings.size());
248 #else 269 #else
249 ASSERT_EQ(1u, warnings.size()); 270 ASSERT_EQ(1u, warnings.size());
250 EXPECT_EQ("Access all data on your computer and the websites you visit", 271 EXPECT_EQ("Access all data on your computer and the websites you visit",
251 UTF16ToUTF8(warnings[0])); 272 UTF16ToUTF8(warnings[0]));
252 #endif 273 #endif
253 } 274 }
254 275
255 // Base class for testing the CanExecuteScriptOnPage and CanCaptureVisiblePage 276 // Base class for testing the CanExecuteScriptOnPage and CanCaptureVisiblePage
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 PermissionsData::ClearTabSpecificPermissions(extension.get(), 1); 659 PermissionsData::ClearTabSpecificPermissions(extension.get(), 1);
639 EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 1) 660 EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 1)
640 .get()); 661 .get());
641 662
642 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); 663 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0));
643 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); 664 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1));
644 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); 665 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2));
645 } 666 }
646 667
647 } // namespace extensions 668 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698