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 "chrome/browser/extensions/api/permissions/permissions_api_helpers.h" | 5 #include "chrome/browser/extensions/api/permissions/permissions_api_helpers.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 std::unique_ptr<base::ListValue> invalid_origins(origins->DeepCopy()); | 133 std::unique_ptr<base::ListValue> invalid_origins(origins->DeepCopy()); |
134 invalid_origins->AppendInteger(3); | 134 invalid_origins->AppendInteger(3); |
135 value->Set("origins", invalid_origins->DeepCopy()); | 135 value->Set("origins", invalid_origins->DeepCopy()); |
136 EXPECT_FALSE(Permissions::Populate(*value, &permissions_object)); | 136 EXPECT_FALSE(Permissions::Populate(*value, &permissions_object)); |
137 } | 137 } |
138 | 138 |
139 // Throw errors when "origins" or "permissions" are not list values. | 139 // Throw errors when "origins" or "permissions" are not list values. |
140 { | 140 { |
141 Permissions permissions_object; | 141 Permissions permissions_object; |
142 value->Clear(); | 142 value->Clear(); |
143 value->Set("origins", new base::FundamentalValue(2)); | 143 value->Set("origins", new base::Value(2)); |
144 EXPECT_FALSE(Permissions::Populate(*value, &permissions_object)); | 144 EXPECT_FALSE(Permissions::Populate(*value, &permissions_object)); |
145 } | 145 } |
146 | 146 |
147 { | 147 { |
148 Permissions permissions_object; | 148 Permissions permissions_object; |
149 value->Clear(); | 149 value->Clear(); |
150 value->Set("permissions", new base::FundamentalValue(2)); | 150 value->Set("permissions", new base::Value(2)); |
151 EXPECT_FALSE(Permissions::Populate(*value, &permissions_object)); | 151 EXPECT_FALSE(Permissions::Populate(*value, &permissions_object)); |
152 } | 152 } |
153 | 153 |
154 // Additional fields should be allowed. | 154 // Additional fields should be allowed. |
155 { | 155 { |
156 Permissions permissions_object; | 156 Permissions permissions_object; |
157 value->Clear(); | 157 value->Clear(); |
158 value->Set("origins", origins->DeepCopy()); | 158 value->Set("origins", origins->DeepCopy()); |
159 value->Set("random", new base::FundamentalValue(3)); | 159 value->Set("random", new base::Value(3)); |
160 EXPECT_TRUE(Permissions::Populate(*value, &permissions_object)); | 160 EXPECT_TRUE(Permissions::Populate(*value, &permissions_object)); |
161 permissions = UnpackPermissionSet(permissions_object, true, &error); | 161 permissions = UnpackPermissionSet(permissions_object, true, &error); |
162 EXPECT_TRUE(permissions.get()); | 162 EXPECT_TRUE(permissions.get()); |
163 EXPECT_TRUE(error.empty()); | 163 EXPECT_TRUE(error.empty()); |
164 EXPECT_TRUE(permissions->HasExplicitAccessToOrigin(GURL("http://a.com/"))); | 164 EXPECT_TRUE(permissions->HasExplicitAccessToOrigin(GURL("http://a.com/"))); |
165 } | 165 } |
166 | 166 |
167 // Unknown permissions should throw an error. | 167 // Unknown permissions should throw an error. |
168 { | 168 { |
169 Permissions permissions_object; | 169 Permissions permissions_object; |
170 value->Clear(); | 170 value->Clear(); |
171 std::unique_ptr<base::ListValue> invalid_apis(apis->DeepCopy()); | 171 std::unique_ptr<base::ListValue> invalid_apis(apis->DeepCopy()); |
172 invalid_apis->AppendString("unknown_permission"); | 172 invalid_apis->AppendString("unknown_permission"); |
173 value->Set("permissions", invalid_apis->DeepCopy()); | 173 value->Set("permissions", invalid_apis->DeepCopy()); |
174 EXPECT_TRUE(Permissions::Populate(*value, &permissions_object)); | 174 EXPECT_TRUE(Permissions::Populate(*value, &permissions_object)); |
175 permissions = UnpackPermissionSet(permissions_object, true, &error); | 175 permissions = UnpackPermissionSet(permissions_object, true, &error); |
176 EXPECT_FALSE(permissions.get()); | 176 EXPECT_FALSE(permissions.get()); |
177 EXPECT_FALSE(error.empty()); | 177 EXPECT_FALSE(error.empty()); |
178 EXPECT_EQ(error, "'unknown_permission' is not a recognized permission."); | 178 EXPECT_EQ(error, "'unknown_permission' is not a recognized permission."); |
179 } | 179 } |
180 } | 180 } |
181 | 181 |
182 } // namespace extensions | 182 } // namespace extensions |
OLD | NEW |