OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 (new TestManifestHandler("C.EZ", keys, prereqs, &watcher))->Register(); | 179 (new TestManifestHandler("C.EZ", keys, prereqs, &watcher))->Register(); |
180 prereqs.clear(); | 180 prereqs.clear(); |
181 prereqs.push_back("b"); | 181 prereqs.push_back("b"); |
182 prereqs.push_back("k"); | 182 prereqs.push_back("k"); |
183 (new TestManifestHandler("C.D", SingleKey("c.d"), prereqs, &watcher))-> | 183 (new TestManifestHandler("C.D", SingleKey("c.d"), prereqs, &watcher))-> |
184 Register(); | 184 Register(); |
185 ManifestHandler::FinalizeRegistration(); | 185 ManifestHandler::FinalizeRegistration(); |
186 | 186 |
187 scoped_refptr<Extension> extension = | 187 scoped_refptr<Extension> extension = |
188 ExtensionBuilder() | 188 ExtensionBuilder() |
189 .SetManifest(std::move( | 189 .SetManifest(DictionaryBuilder() |
190 DictionaryBuilder() | 190 .Set("name", "no name") |
191 .Set("name", "no name") | 191 .Set("version", "0") |
192 .Set("version", "0") | 192 .Set("manifest_version", 2) |
193 .Set("manifest_version", 2) | 193 .Set("a", 1) |
194 .Set("a", 1) | 194 .Set("b", 2) |
195 .Set("b", 2) | 195 .Set("c", DictionaryBuilder() |
196 .Set("c", std::move( | 196 .Set("d", 3) |
197 DictionaryBuilder().Set("d", 3).Set("e", 4).Set( | 197 .Set("e", 4) |
198 "f", 5))) | 198 .Set("f", 5) |
199 .Set("g", 6))) | 199 .Build()) |
| 200 .Set("g", 6) |
| 201 .Build()) |
200 .Build(); | 202 .Build(); |
201 | 203 |
202 // A, B, C.EZ, C.D, K | 204 // A, B, C.EZ, C.D, K |
203 EXPECT_EQ(5u, watcher.parsed_names().size()); | 205 EXPECT_EQ(5u, watcher.parsed_names().size()); |
204 EXPECT_TRUE(watcher.ParsedBefore("B", "C.D")); | 206 EXPECT_TRUE(watcher.ParsedBefore("B", "C.D")); |
205 EXPECT_TRUE(watcher.ParsedBefore("K", "C.D")); | 207 EXPECT_TRUE(watcher.ParsedBefore("K", "C.D")); |
206 EXPECT_TRUE(watcher.ParsedBefore("C.D", "C.EZ")); | 208 EXPECT_TRUE(watcher.ParsedBefore("C.D", "C.EZ")); |
207 } | 209 } |
208 | 210 |
209 TEST_F(ManifestHandlerTest, FailingHandlers) { | 211 TEST_F(ManifestHandlerTest, FailingHandlers) { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 Extension::NO_FLAGS, | 243 Extension::NO_FLAGS, |
242 &error); | 244 &error); |
243 EXPECT_FALSE(extension.get()); | 245 EXPECT_FALSE(extension.get()); |
244 EXPECT_EQ("A", error); | 246 EXPECT_EQ("A", error); |
245 } | 247 } |
246 | 248 |
247 TEST_F(ManifestHandlerTest, Validate) { | 249 TEST_F(ManifestHandlerTest, Validate) { |
248 ScopedTestingManifestHandlerRegistry registry; | 250 ScopedTestingManifestHandlerRegistry registry; |
249 scoped_refptr<Extension> extension = | 251 scoped_refptr<Extension> extension = |
250 ExtensionBuilder() | 252 ExtensionBuilder() |
251 .SetManifest(std::move(DictionaryBuilder() | 253 .SetManifest(DictionaryBuilder() |
252 .Set("name", "no name") | 254 .Set("name", "no name") |
253 .Set("version", "0") | 255 .Set("version", "0") |
254 .Set("manifest_version", 2) | 256 .Set("manifest_version", 2) |
255 .Set("a", 1) | 257 .Set("a", 1) |
256 .Set("b", 2))) | 258 .Set("b", 2) |
| 259 .Build()) |
257 .Build(); | 260 .Build(); |
258 EXPECT_TRUE(extension.get()); | 261 EXPECT_TRUE(extension.get()); |
259 | 262 |
260 std::string error; | 263 std::string error; |
261 std::vector<InstallWarning> warnings; | 264 std::vector<InstallWarning> warnings; |
262 // Always validates and fails. | 265 // Always validates and fails. |
263 (new TestManifestValidator(false, true, SingleKey("c")))->Register(); | 266 (new TestManifestValidator(false, true, SingleKey("c")))->Register(); |
264 EXPECT_FALSE( | 267 EXPECT_FALSE( |
265 ManifestHandler::ValidateExtension(extension.get(), &error, &warnings)); | 268 ManifestHandler::ValidateExtension(extension.get(), &error, &warnings)); |
266 | 269 |
267 // This overrides the registered handler for "c". | 270 // This overrides the registered handler for "c". |
268 (new TestManifestValidator(false, false, SingleKey("c")))->Register(); | 271 (new TestManifestValidator(false, false, SingleKey("c")))->Register(); |
269 EXPECT_TRUE( | 272 EXPECT_TRUE( |
270 ManifestHandler::ValidateExtension(extension.get(), &error, &warnings)); | 273 ManifestHandler::ValidateExtension(extension.get(), &error, &warnings)); |
271 | 274 |
272 // Validates "a" and fails. | 275 // Validates "a" and fails. |
273 (new TestManifestValidator(false, true, SingleKey("a")))->Register(); | 276 (new TestManifestValidator(false, true, SingleKey("a")))->Register(); |
274 EXPECT_FALSE( | 277 EXPECT_FALSE( |
275 ManifestHandler::ValidateExtension(extension.get(), &error, &warnings)); | 278 ManifestHandler::ValidateExtension(extension.get(), &error, &warnings)); |
276 } | 279 } |
277 | 280 |
278 } // namespace extensions | 281 } // namespace extensions |
OLD | NEW |