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 |