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/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 Loading... |
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 } |
OLD | NEW |