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

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: patch rebased 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 12
13 using extensions::ErrorUtils; 13 using extensions::ErrorUtils;
14 using extensions::Extension; 14 using extensions::Extension;
15 15
16 namespace errors = extension_manifest_errors; 16 namespace errors = extension_manifest_errors;
17 17
18 TEST_F(ExtensionManifestTest, WebAccessibleResources) {
19 // Manifest version 2 with web accessible resources specified.
20 scoped_refptr<Extension> extension1(
21 LoadAndExpectSuccess("web_accessible_resources_1.json"));
22
23 // Manifest version 2 with no web accessible resources.
24 scoped_refptr<Extension> extension2(
25 LoadAndExpectSuccess("web_accessible_resources_2.json"));
26
27 // Default manifest version with web accessible resources specified.
28 scoped_refptr<Extension> extension3(
29 LoadAndExpectSuccess("web_accessible_resources_3.json"));
30
31 // Default manifest version with no web accessible resources.
32 scoped_refptr<Extension> extension4(
33 LoadAndExpectSuccess("web_accessible_resources_4.json"));
34
35 // Default manifest version with wildcard web accessible resource.
36 scoped_refptr<Extension> extension5(
37 LoadAndExpectSuccess("web_accessible_resources_5.json"));
38
39 // Default manifest version with wildcard with specific path and extension.
40 scoped_refptr<Extension> extension6(
41 LoadAndExpectSuccess("web_accessible_resources_6.json"));
42
43 EXPECT_TRUE(extension1->HasWebAccessibleResources());
44 EXPECT_FALSE(extension2->HasWebAccessibleResources());
45 EXPECT_TRUE(extension3->HasWebAccessibleResources());
46 EXPECT_FALSE(extension4->HasWebAccessibleResources());
47 EXPECT_TRUE(extension5->HasWebAccessibleResources());
48 EXPECT_TRUE(extension6->HasWebAccessibleResources());
49
50 EXPECT_TRUE(extension1->IsResourceWebAccessible("test"));
51 EXPECT_FALSE(extension1->IsResourceWebAccessible("none"));
52
53 EXPECT_FALSE(extension2->IsResourceWebAccessible("test"));
54
55 EXPECT_TRUE(extension3->IsResourceWebAccessible("test"));
56 EXPECT_FALSE(extension3->IsResourceWebAccessible("none"));
57
58 EXPECT_TRUE(extension4->IsResourceWebAccessible("test"));
59 EXPECT_TRUE(extension4->IsResourceWebAccessible("none"));
60
61 EXPECT_TRUE(extension5->IsResourceWebAccessible("anything"));
62 EXPECT_TRUE(extension5->IsResourceWebAccessible("path/anything"));
63
64 EXPECT_TRUE(extension6->IsResourceWebAccessible("path/anything.ext"));
65 EXPECT_FALSE(extension6->IsResourceWebAccessible("anything.ext"));
66 EXPECT_FALSE(extension6->IsResourceWebAccessible("path/anything.badext"));
67 }
68
69 TEST_F(ExtensionManifestTest, AppWebUrls) { 18 TEST_F(ExtensionManifestTest, AppWebUrls) {
70 Testcase testcases[] = { 19 Testcase testcases[] = {
71 Testcase("web_urls_wrong_type.json", errors::kInvalidWebURLs), 20 Testcase("web_urls_wrong_type.json", errors::kInvalidWebURLs),
72 Testcase("web_urls_invalid_1.json", 21 Testcase("web_urls_invalid_1.json",
73 ErrorUtils::FormatErrorMessage( 22 ErrorUtils::FormatErrorMessage(
74 errors::kInvalidWebURL, 23 errors::kInvalidWebURL,
75 base::IntToString(0), 24 base::IntToString(0),
76 errors::kExpectString)), 25 errors::kExpectString)),
77 Testcase("web_urls_invalid_2.json", 26 Testcase("web_urls_invalid_2.json",
78 ErrorUtils::FormatErrorMessage( 27 ErrorUtils::FormatErrorMessage(
(...skipping 21 matching lines...) Expand all
100 EXPECT_TYPE_ERROR); 49 EXPECT_TYPE_ERROR);
101 50
102 LoadAndExpectSuccess("web_urls_has_port.json"); 51 LoadAndExpectSuccess("web_urls_has_port.json");
103 52
104 scoped_refptr<Extension> extension( 53 scoped_refptr<Extension> extension(
105 LoadAndExpectSuccess("web_urls_default.json")); 54 LoadAndExpectSuccess("web_urls_default.json"));
106 ASSERT_EQ(1u, extension->web_extent().patterns().size()); 55 ASSERT_EQ(1u, extension->web_extent().patterns().size());
107 EXPECT_EQ("*://www.google.com/*", 56 EXPECT_EQ("*://www.google.com/*",
108 extension->web_extent().patterns().begin()->GetAsString()); 57 extension->web_extent().patterns().begin()->GetAsString());
109 } 58 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698