| OLD | NEW |
| 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/json/json_file_value_serializer.h" | 6 #include "base/json/json_file_value_serializer.h" |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "chrome/common/chrome_paths.h" | 10 #include "chrome/common/chrome_paths.h" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 } // namespace | 84 } // namespace |
| 85 | 85 |
| 86 namespace extensions { | 86 namespace extensions { |
| 87 | 87 |
| 88 class PermissionsTest : public testing::Test { | 88 class PermissionsTest : public testing::Test { |
| 89 }; | 89 }; |
| 90 | 90 |
| 91 // Tests GetByID. | 91 // Tests GetByID. |
| 92 TEST(PermissionsTest, GetByID) { | 92 TEST(PermissionsTest, GetByID) { |
| 93 PermissionsInfo* info = PermissionsInfo::GetInstance(); | 93 PermissionsInfo* info = PermissionsInfo::GetInstance(); |
| 94 APIPermissionSet ids = info->GetAll(); | 94 APIPermissionSet apis = info->GetAll(); |
| 95 for (APIPermissionSet::iterator i = ids.begin(); | 95 for (APIPermissionSet::const_iterator i = apis.begin(); |
| 96 i != ids.end(); ++i) { | 96 i != apis.end(); ++i) { |
| 97 EXPECT_EQ(*i, info->GetByID(*i)->id()); | 97 EXPECT_EQ(i->id(), i->permission()->id()); |
| 98 } | 98 } |
| 99 } | 99 } |
| 100 | 100 |
| 101 // Tests that GetByName works with normal permission names and aliases. | 101 // Tests that GetByName works with normal permission names and aliases. |
| 102 TEST(PermissionsTest, GetByName) { | 102 TEST(PermissionsTest, GetByName) { |
| 103 PermissionsInfo* info = PermissionsInfo::GetInstance(); | 103 PermissionsInfo* info = PermissionsInfo::GetInstance(); |
| 104 EXPECT_EQ(APIPermission::kTab, info->GetByName("tabs")->id()); | 104 EXPECT_EQ(APIPermission::kTab, info->GetByName("tabs")->id()); |
| 105 EXPECT_EQ(APIPermission::kManagement, | 105 EXPECT_EQ(APIPermission::kManagement, |
| 106 info->GetByName("management")->id()); | 106 info->GetByName("management")->id()); |
| 107 EXPECT_FALSE(info->GetByName("alsdkfjasldkfj")); | 107 EXPECT_FALSE(info->GetByName("alsdkfjasldkfj")); |
| 108 } | 108 } |
| 109 | 109 |
| 110 TEST(PermissionsTest, GetAll) { | 110 TEST(PermissionsTest, GetAll) { |
| 111 size_t count = 0; | 111 size_t count = 0; |
| 112 PermissionsInfo* info = PermissionsInfo::GetInstance(); | 112 PermissionsInfo* info = PermissionsInfo::GetInstance(); |
| 113 APIPermissionSet apis = info->GetAll(); | 113 APIPermissionSet apis = info->GetAll(); |
| 114 for (APIPermissionSet::iterator api = apis.begin(); | 114 for (APIPermissionSet::const_iterator api = apis.begin(); |
| 115 api != apis.end(); ++api) { | 115 api != apis.end(); ++api) { |
| 116 // Make sure only the valid permission IDs get returned. | 116 // Make sure only the valid permission IDs get returned. |
| 117 EXPECT_NE(APIPermission::kInvalid, *api); | 117 EXPECT_NE(APIPermission::kInvalid, api->id()); |
| 118 EXPECT_NE(APIPermission::kUnknown, *api); | 118 EXPECT_NE(APIPermission::kUnknown, api->id()); |
| 119 count++; | 119 count++; |
| 120 } | 120 } |
| 121 EXPECT_EQ(count, info->get_permission_count()); | 121 EXPECT_EQ(count, info->get_permission_count()); |
| 122 } | 122 } |
| 123 | 123 |
| 124 TEST(PermissionsTest, GetAllByName) { | 124 TEST(PermissionsTest, GetAllByName) { |
| 125 std::set<std::string> names; | 125 std::set<std::string> names; |
| 126 names.insert("background"); | 126 names.insert("background"); |
| 127 names.insert("management"); | 127 names.insert("management"); |
| 128 | 128 |
| (...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 | 609 |
| 610 // Platform apps. TODO(miket): must we skip? | 610 // Platform apps. TODO(miket): must we skip? |
| 611 skip.insert(APIPermission::kFileSystem); | 611 skip.insert(APIPermission::kFileSystem); |
| 612 skip.insert(APIPermission::kSocket); | 612 skip.insert(APIPermission::kSocket); |
| 613 skip.insert(APIPermission::kUsb); | 613 skip.insert(APIPermission::kUsb); |
| 614 | 614 |
| 615 PermissionsInfo* info = PermissionsInfo::GetInstance(); | 615 PermissionsInfo* info = PermissionsInfo::GetInstance(); |
| 616 APIPermissionSet permissions = info->GetAll(); | 616 APIPermissionSet permissions = info->GetAll(); |
| 617 for (APIPermissionSet::const_iterator i = permissions.begin(); | 617 for (APIPermissionSet::const_iterator i = permissions.begin(); |
| 618 i != permissions.end(); ++i) { | 618 i != permissions.end(); ++i) { |
| 619 APIPermission* permission = info->GetByID(*i); | 619 const APIPermission* permission = i->permission(); |
| 620 EXPECT_TRUE(permission); | 620 EXPECT_TRUE(permission); |
| 621 if (skip.count(*i)) { | 621 if (skip.count(i->id())) { |
| 622 EXPECT_EQ(PermissionMessage::kNone, permission->message_id()) | 622 EXPECT_EQ(PermissionMessage::kNone, permission->message_id()) |
| 623 << "unexpected message_id for " << permission->name(); | 623 << "unexpected message_id for " << permission->name(); |
| 624 } else { | 624 } else { |
| 625 EXPECT_NE(PermissionMessage::kNone, permission->message_id()) | 625 EXPECT_NE(PermissionMessage::kNone, permission->message_id()) |
| 626 << "missing message_id for " << permission->name(); | 626 << "missing message_id for " << permission->name(); |
| 627 } | 627 } |
| 628 } | 628 } |
| 629 } | 629 } |
| 630 | 630 |
| 631 // Tests the default permissions (empty API permission set). | 631 // Tests the default permissions (empty API permission set). |
| (...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1135 apis.insert(APIPermission::kWebRequest); | 1135 apis.insert(APIPermission::kWebRequest); |
| 1136 apis.insert(APIPermission::kFileBrowserHandler); | 1136 apis.insert(APIPermission::kFileBrowserHandler); |
| 1137 EXPECT_EQ(2U, apis.size()); | 1137 EXPECT_EQ(2U, apis.size()); |
| 1138 | 1138 |
| 1139 scoped_refptr<PermissionSet> perm_set; | 1139 scoped_refptr<PermissionSet> perm_set; |
| 1140 perm_set = new PermissionSet(apis, empty_extent, empty_extent); | 1140 perm_set = new PermissionSet(apis, empty_extent, empty_extent); |
| 1141 EXPECT_EQ(4U, perm_set->apis().size()); | 1141 EXPECT_EQ(4U, perm_set->apis().size()); |
| 1142 } | 1142 } |
| 1143 | 1143 |
| 1144 } // namespace extensions | 1144 } // namespace extensions |
| OLD | NEW |