| 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 |