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

Unified Diff: chrome/common/extensions/permissions/permissions_data_unittest.cc

Issue 980353003: Extensions: Switch to new permission message system, part I (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/permissions/permissions_data_unittest.cc
diff --git a/chrome/common/extensions/permissions/permissions_data_unittest.cc b/chrome/common/extensions/permissions/permissions_data_unittest.cc
index e88c364a5d9e8c4846c1cec43bfeede1e149a79d..2f258ef663d51aed254903bad191c4d61fd32a1a 100644
--- a/chrome/common/extensions/permissions/permissions_data_unittest.cc
+++ b/chrome/common/extensions/permissions/permissions_data_unittest.cc
@@ -17,6 +17,7 @@
#include "extensions/common/manifest.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/permissions/api_permission.h"
+#include "extensions/common/permissions/permission_message_test_util.h"
#include "extensions/common/permissions/permission_set.h"
#include "extensions/common/permissions/permissions_data.h"
#include "extensions/common/permissions/socket_permission.h"
@@ -292,32 +293,29 @@ TEST(PermissionsDataTest, IsRestrictedUrl) {
TEST(PermissionsDataTest, GetPermissionMessages_ManyAPIPermissions) {
scoped_refptr<Extension> extension;
extension = LoadManifest("permissions", "many-apis.json");
- std::vector<base::string16> warnings =
- extension->permissions_data()->GetPermissionMessageStrings();
// Warning for "tabs" is suppressed by "history" permission.
- ASSERT_EQ(5u, warnings.size());
- EXPECT_EQ("Read and change your data on api.flickr.com",
- UTF16ToUTF8(warnings[0]));
- EXPECT_EQ("Read and change your bookmarks", UTF16ToUTF8(warnings[1]));
- EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[2]));
- EXPECT_EQ("Read and change your browsing history", UTF16ToUTF8(warnings[3]));
- EXPECT_EQ("Manage your apps, extensions, and themes",
- UTF16ToUTF8(warnings[4]));
+ std::vector<std::string> expected_messages;
+ expected_messages.push_back("Read and change your data on api.flickr.com");
+ expected_messages.push_back("Read and change your bookmarks");
+ expected_messages.push_back("Detect your physical location");
+ expected_messages.push_back("Read and change your browsing history");
+ expected_messages.push_back("Manage your apps, extensions, and themes");
+ EXPECT_TRUE(VerifyPermissionMessages(extension->permissions_data(),
+ expected_messages, false));
}
TEST(PermissionsDataTest, GetPermissionMessages_ManyHostsPermissions) {
scoped_refptr<Extension> extension;
extension = LoadManifest("permissions", "more-than-3-hosts.json");
- std::vector<base::string16> warnings =
- extension->permissions_data()->GetPermissionMessageStrings();
- std::vector<base::string16> warnings_details =
- extension->permissions_data()->GetPermissionMessageDetailsStrings();
- ASSERT_EQ(1u, warnings.size());
- ASSERT_EQ(1u, warnings_details.size());
- EXPECT_EQ("Read and change your data on a number of websites",
- UTF16ToUTF8(warnings[0]));
- EXPECT_EQ("www.a.com\nwww.b.com\nwww.c.com\nwww.d.com\nwww.e.com",
- UTF16ToUTF8(warnings_details[0]));
+ std::vector<std::string> submessages;
+ submessages.push_back("www.a.com");
+ submessages.push_back("www.b.com");
+ submessages.push_back("www.c.com");
+ submessages.push_back("www.d.com");
+ submessages.push_back("www.e.com");
+ EXPECT_TRUE(VerifyOnePermissionMessageWithSubmessages(
+ extension->permissions_data(),
+ "Read and change your data on a number of websites", submessages));
}
TEST(PermissionsDataTest, GetPermissionMessages_LocationApiPermission) {
@@ -326,38 +324,30 @@ TEST(PermissionsDataTest, GetPermissionMessages_LocationApiPermission) {
"location-api.json",
Manifest::COMPONENT,
Extension::NO_FLAGS);
- std::vector<base::string16> warnings =
- extension->permissions_data()->GetPermissionMessageStrings();
- ASSERT_EQ(1u, warnings.size());
- EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[0]));
+ EXPECT_TRUE(VerifyOnePermissionMessage(extension->permissions_data(),
+ "Detect your physical location"));
}
TEST(PermissionsDataTest, GetPermissionMessages_ManyHosts) {
scoped_refptr<Extension> extension;
extension = LoadManifest("permissions", "many-hosts.json");
- std::vector<base::string16> warnings =
- extension->permissions_data()->GetPermissionMessageStrings();
- ASSERT_EQ(1u, warnings.size());
- EXPECT_EQ(
- "Read and change your data on encrypted.google.com and www.google.com",
- UTF16ToUTF8(warnings[0]));
+ EXPECT_TRUE(VerifyOnePermissionMessage(
+ extension->permissions_data(),
+ "Read and change your data on encrypted.google.com and www.google.com"));
}
TEST(PermissionsDataTest, GetPermissionMessages_Plugins) {
scoped_refptr<Extension> extension;
extension = LoadManifest("permissions", "plugins.json");
- std::vector<base::string16> warnings =
- extension->permissions_data()->GetPermissionMessageStrings();
// We don't parse the plugins key on Chrome OS, so it should not ask for any
// permissions.
#if defined(OS_CHROMEOS)
- ASSERT_EQ(0u, warnings.size());
+ EXPECT_TRUE(VerifyNoPermissionMessages(extension->permissions_data()));
#else
- ASSERT_EQ(1u, warnings.size());
- EXPECT_EQ(
+ EXPECT_TRUE(VerifyOnePermissionMessage(
+ extension->permissions_data(),
"Read and change all your data on your computer and the websites you "
- "visit",
- UTF16ToUTF8(warnings[0]));
+ "visit"));
#endif
}

Powered by Google App Engine
This is Rietveld 408576698