| Index: chrome/common/extensions/permissions/permission_set_unittest.cc
|
| diff --git a/chrome/common/extensions/permissions/permission_set_unittest.cc b/chrome/common/extensions/permissions/permission_set_unittest.cc
|
| index 9515ce6d4b03940ef4633fb4766b3635f78f1281..19d31cd668e5b7c712b2ef5d5dab4548e70c6e3b 100644
|
| --- a/chrome/common/extensions/permissions/permission_set_unittest.cc
|
| +++ b/chrome/common/extensions/permissions/permission_set_unittest.cc
|
| @@ -23,6 +23,7 @@
|
| #include "extensions/common/permissions/socket_permission.h"
|
| #include "extensions/common/value_builder.h"
|
| #include "grit/generated_resources.h"
|
| +#include "grit/extensions_strings.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
|
|
| @@ -910,6 +911,94 @@ TEST(PermissionsTest, SuppressedPermissionMessages) {
|
| }
|
| }
|
|
|
| +TEST(PermissionsTest, AccessToDevicesMessages) {
|
| + {
|
| + APIPermissionSet api_permissions;
|
| + api_permissions.insert(APIPermission::kUsb);
|
| + scoped_refptr<PermissionSet> permissions(
|
| + new PermissionSet(api_permissions,
|
| + ManifestPermissionSet(),
|
| + URLPatternSet(),
|
| + URLPatternSet()));
|
| + std::vector<base::string16> messages =
|
| + PermissionMessageProvider::Get()->GetWarningMessages(
|
| + permissions, Manifest::TYPE_EXTENSION);
|
| + EXPECT_EQ(1u, messages.size());
|
| + EXPECT_EQ(l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_USB),
|
| + messages[0]);
|
| + }
|
| + {
|
| + APIPermissionSet api_permissions;
|
| + api_permissions.insert(APIPermission::kSerial);
|
| + scoped_refptr<PermissionSet> permissions(
|
| + new PermissionSet(api_permissions,
|
| + ManifestPermissionSet(),
|
| + URLPatternSet(),
|
| + URLPatternSet()));
|
| + std::vector<base::string16> messages =
|
| + PermissionMessageProvider::Get()->GetWarningMessages(
|
| + permissions, Manifest::TYPE_EXTENSION);
|
| + EXPECT_EQ(1u, messages.size());
|
| + EXPECT_EQ(l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_SERIAL),
|
| + messages[0]);
|
| + }
|
| + {
|
| + APIPermissionSet api_permissions;
|
| + api_permissions.insert(APIPermission::kUsb);
|
| + api_permissions.insert(APIPermission::kSerial);
|
| + scoped_refptr<PermissionSet> permissions(
|
| + new PermissionSet(api_permissions,
|
| + ManifestPermissionSet(),
|
| + URLPatternSet(),
|
| + URLPatternSet()));
|
| + std::vector<base::string16> messages =
|
| + PermissionMessageProvider::Get()->GetWarningMessages(
|
| + permissions, Manifest::TYPE_EXTENSION);
|
| + EXPECT_EQ(1u, messages.size());
|
| + EXPECT_EQ(
|
| + l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_USB_SERIAL),
|
| + messages[0]);
|
| + }
|
| + {
|
| + scoped_refptr<Extension> extension =
|
| + LoadManifest("permissions", "access_to_devices_bluetooth.json");
|
| + const PermissionMessageProvider* provider =
|
| + PermissionMessageProvider::Get();
|
| + PermissionSet* set = const_cast<PermissionSet*>(
|
| + extension->permissions_data()->active_permissions().get());
|
| + std::vector<base::string16> warnings =
|
| + provider->GetWarningMessages(set, extension->GetType());
|
| + EXPECT_EQ(1u, warnings.size());
|
| + EXPECT_EQ(l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH),
|
| + warnings[0]);
|
| +
|
| + // Test Bluetooth and Serial
|
| + set->apis_.insert(APIPermission::kSerial);
|
| + warnings = provider->GetWarningMessages(set, extension->GetType());
|
| + EXPECT_EQ(1u, warnings.size());
|
| + EXPECT_EQ(l10n_util::GetStringUTF16(
|
| + IDS_EXTENSION_PROMPT_WARNING_BLUETOOTH_SERIAL),
|
| + warnings[0]);
|
| + set->apis_.erase(APIPermission::kSerial);
|
| +
|
| + // Test USB and Bluetooth
|
| + set->apis_.insert(APIPermission::kUsb);
|
| + warnings = provider->GetWarningMessages(set, extension->GetType());
|
| + EXPECT_EQ(1u, warnings.size());
|
| + EXPECT_EQ(
|
| + l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_USB_BLUETOOTH),
|
| + warnings[0]);
|
| +
|
| + // Test USB, Bluetooth and Serial
|
| + set->apis_.insert(APIPermission::kSerial);
|
| + warnings = provider->GetWarningMessages(set, extension->GetType());
|
| + EXPECT_EQ(1u, warnings.size());
|
| + EXPECT_EQ(
|
| + l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_ALL_DEVICES),
|
| + warnings[0]);
|
| + }
|
| +}
|
| +
|
| TEST(PermissionsTest, MergedFileSystemPermissionComparison) {
|
| APIPermissionSet write_api_permissions;
|
| write_api_permissions.insert(APIPermission::kFileSystemWrite);
|
| @@ -1102,8 +1191,7 @@ TEST(PermissionsTest, GetWarningMessages_Serial) {
|
| extension->permissions_data()->HasAPIPermission(APIPermission::kSerial));
|
| std::vector<base::string16> warnings =
|
| extension->permissions_data()->GetPermissionMessageStrings();
|
| - EXPECT_TRUE(
|
| - Contains(warnings, "Use serial devices attached to your computer"));
|
| + EXPECT_TRUE(Contains(warnings, "Access your serial device(s)"));
|
| ASSERT_EQ(1u, warnings.size());
|
| }
|
|
|
|
|