Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Side by Side Diff: chrome/common/extensions/manifest_tests/extension_manifests_web_unittest.cc

Issue 11821009: move 'web_accessible_resources' parsing out of Extension class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@url_parse
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/common/extensions/manifest_tests/extension_manifest_test.h" 5 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h"
6 6
7 #include "base/string_number_conversions.h" 7 #include "base/string_number_conversions.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/common/extensions/extension_manifest_constants.h" 9 #include "chrome/common/extensions/extension_manifest_constants.h"
10 #include "extensions/common/error_utils.h" 10 #include "extensions/common/error_utils.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "webkit/glue/web_intent_service_data.h" 12 #include "webkit/glue/web_intent_service_data.h"
13 13
14 using extensions::ErrorUtils; 14 using extensions::ErrorUtils;
15 using extensions::Extension; 15 using extensions::Extension;
16 16
17 namespace errors = extension_manifest_errors; 17 namespace errors = extension_manifest_errors;
18 18
19 TEST_F(ExtensionManifestTest, WebAccessibleResources) {
20 // Manifest version 2 with web accessible resources specified.
21 scoped_refptr<Extension> extension1(
22 LoadAndExpectSuccess("web_accessible_resources_1.json"));
23
24 // Manifest version 2 with no web accessible resources.
25 scoped_refptr<Extension> extension2(
26 LoadAndExpectSuccess("web_accessible_resources_2.json"));
27
28 // Default manifest version with web accessible resources specified.
29 scoped_refptr<Extension> extension3(
30 LoadAndExpectSuccess("web_accessible_resources_3.json"));
31
32 // Default manifest version with no web accessible resources.
33 scoped_refptr<Extension> extension4(
34 LoadAndExpectSuccess("web_accessible_resources_4.json"));
35
36 // Default manifest version with wildcard web accessible resource.
37 scoped_refptr<Extension> extension5(
38 LoadAndExpectSuccess("web_accessible_resources_5.json"));
39
40 // Default manifest version with wildcard with specific path and extension.
41 scoped_refptr<Extension> extension6(
42 LoadAndExpectSuccess("web_accessible_resources_6.json"));
43
44 EXPECT_TRUE(extension1->HasWebAccessibleResources());
45 EXPECT_FALSE(extension2->HasWebAccessibleResources());
46 EXPECT_TRUE(extension3->HasWebAccessibleResources());
47 EXPECT_FALSE(extension4->HasWebAccessibleResources());
48 EXPECT_TRUE(extension5->HasWebAccessibleResources());
49 EXPECT_TRUE(extension6->HasWebAccessibleResources());
50
51 EXPECT_TRUE(extension1->IsResourceWebAccessible("test"));
52 EXPECT_FALSE(extension1->IsResourceWebAccessible("none"));
53
54 EXPECT_FALSE(extension2->IsResourceWebAccessible("test"));
55
56 EXPECT_TRUE(extension3->IsResourceWebAccessible("test"));
57 EXPECT_FALSE(extension3->IsResourceWebAccessible("none"));
58
59 EXPECT_TRUE(extension4->IsResourceWebAccessible("test"));
60 EXPECT_TRUE(extension4->IsResourceWebAccessible("none"));
61
62 EXPECT_TRUE(extension5->IsResourceWebAccessible("anything"));
63 EXPECT_TRUE(extension5->IsResourceWebAccessible("path/anything"));
64
65 EXPECT_TRUE(extension6->IsResourceWebAccessible("path/anything.ext"));
66 EXPECT_FALSE(extension6->IsResourceWebAccessible("anything.ext"));
67 EXPECT_FALSE(extension6->IsResourceWebAccessible("path/anything.badext"));
68 }
69
70 TEST_F(ExtensionManifestTest, WebIntents) { 19 TEST_F(ExtensionManifestTest, WebIntents) {
71 Testcase testcases[] = { 20 Testcase testcases[] = {
72 Testcase("intent_invalid_1.json", errors::kInvalidIntents), 21 Testcase("intent_invalid_1.json", errors::kInvalidIntents),
73 Testcase("intent_invalid_2.json", errors::kInvalidIntent), 22 Testcase("intent_invalid_2.json", errors::kInvalidIntent),
74 Testcase("intent_invalid_3.json", errors::kInvalidIntentHref), 23 Testcase("intent_invalid_3.json", errors::kInvalidIntentHref),
75 Testcase("intent_invalid_4.json", errors::kInvalidIntentDisposition), 24 Testcase("intent_invalid_4.json", errors::kInvalidIntentDisposition),
76 Testcase("intent_invalid_5.json", errors::kInvalidIntentType), 25 Testcase("intent_invalid_5.json", errors::kInvalidIntentType),
77 Testcase("intent_invalid_6.json", errors::kInvalidIntentTitle), 26 Testcase("intent_invalid_6.json", errors::kInvalidIntentTitle),
78 Testcase("intent_invalid_packaged_app.json", errors::kCannotAccessPage), 27 Testcase("intent_invalid_packaged_app.json", errors::kCannotAccessPage),
79 Testcase("intent_invalid_href_and_path.json", 28 Testcase("intent_invalid_href_and_path.json",
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 EXPECT_TYPE_ERROR); 194 EXPECT_TYPE_ERROR);
246 195
247 LoadAndExpectSuccess("web_urls_has_port.json"); 196 LoadAndExpectSuccess("web_urls_has_port.json");
248 197
249 scoped_refptr<Extension> extension( 198 scoped_refptr<Extension> extension(
250 LoadAndExpectSuccess("web_urls_default.json")); 199 LoadAndExpectSuccess("web_urls_default.json"));
251 ASSERT_EQ(1u, extension->web_extent().patterns().size()); 200 ASSERT_EQ(1u, extension->web_extent().patterns().size());
252 EXPECT_EQ("*://www.google.com/*", 201 EXPECT_EQ("*://www.google.com/*",
253 extension->web_extent().patterns().begin()->GetAsString()); 202 extension->web_extent().patterns().begin()->GetAsString());
254 } 203 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698