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 "extensions/common/manifest.h" | 5 #include "extensions/common/manifest.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <memory> | 8 #include <memory> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 feature.set_max_manifest_version(1); | 107 feature.set_max_manifest_version(1); |
108 EXPECT_EQ( | 108 EXPECT_EQ( |
109 "'background_page' requires manifest version of 1 or lower.", | 109 "'background_page' requires manifest version of 1 or lower.", |
110 warnings[0].message); | 110 warnings[0].message); |
111 } | 111 } |
112 | 112 |
113 // Test DeepCopy and Equals. | 113 // Test DeepCopy and Equals. |
114 std::unique_ptr<Manifest> manifest2(manifest->DeepCopy()); | 114 std::unique_ptr<Manifest> manifest2(manifest->DeepCopy()); |
115 EXPECT_TRUE(manifest->Equals(manifest2.get())); | 115 EXPECT_TRUE(manifest->Equals(manifest2.get())); |
116 EXPECT_TRUE(manifest2->Equals(manifest.get())); | 116 EXPECT_TRUE(manifest2->Equals(manifest.get())); |
117 MutateManifest( | 117 MutateManifest(&manifest, "foo", new base::Value("blah")); |
118 &manifest, "foo", new base::StringValue("blah")); | |
119 EXPECT_FALSE(manifest->Equals(manifest2.get())); | 118 EXPECT_FALSE(manifest->Equals(manifest2.get())); |
120 } | 119 } |
121 | 120 |
122 // Verifies that key restriction based on type works. | 121 // Verifies that key restriction based on type works. |
123 TEST_F(ManifestUnitTest, ExtensionTypes) { | 122 TEST_F(ManifestUnitTest, ExtensionTypes) { |
124 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); | 123 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); |
125 value->SetString(keys::kName, "extension"); | 124 value->SetString(keys::kName, "extension"); |
126 value->SetString(keys::kVersion, "1"); | 125 value->SetString(keys::kVersion, "1"); |
127 | 126 |
128 std::unique_ptr<Manifest> manifest( | 127 std::unique_ptr<Manifest> manifest( |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 AssertType(manifest.get(), Manifest::TYPE_PLATFORM_APP); | 160 AssertType(manifest.get(), Manifest::TYPE_PLATFORM_APP); |
162 MutateManifest( | 161 MutateManifest( |
163 &manifest, keys::kPlatformAppBackground, NULL); | 162 &manifest, keys::kPlatformAppBackground, NULL); |
164 | 163 |
165 // Hosted app. | 164 // Hosted app. |
166 MutateManifest( | 165 MutateManifest( |
167 &manifest, keys::kWebURLs, new base::ListValue()); | 166 &manifest, keys::kWebURLs, new base::ListValue()); |
168 AssertType(manifest.get(), Manifest::TYPE_HOSTED_APP); | 167 AssertType(manifest.get(), Manifest::TYPE_HOSTED_APP); |
169 MutateManifest( | 168 MutateManifest( |
170 &manifest, keys::kWebURLs, NULL); | 169 &manifest, keys::kWebURLs, NULL); |
171 MutateManifest( | 170 MutateManifest(&manifest, keys::kLaunchWebURL, new base::Value("foo")); |
172 &manifest, keys::kLaunchWebURL, new base::StringValue("foo")); | |
173 AssertType(manifest.get(), Manifest::TYPE_HOSTED_APP); | 171 AssertType(manifest.get(), Manifest::TYPE_HOSTED_APP); |
174 MutateManifest( | 172 MutateManifest( |
175 &manifest, keys::kLaunchWebURL, NULL); | 173 &manifest, keys::kLaunchWebURL, NULL); |
176 } | 174 } |
177 | 175 |
178 // Verifies that the getters filter restricted keys. | 176 // Verifies that the getters filter restricted keys. |
179 TEST_F(ManifestUnitTest, RestrictedKeys) { | 177 TEST_F(ManifestUnitTest, RestrictedKeys) { |
180 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); | 178 std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue()); |
181 value->SetString(keys::kName, "extension"); | 179 value->SetString(keys::kName, "extension"); |
182 value->SetString(keys::kVersion, "1"); | 180 value->SetString(keys::kVersion, "1"); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 EXPECT_FALSE(manifest->Get(keys::kPageAction, &output)); | 212 EXPECT_FALSE(manifest->Get(keys::kPageAction, &output)); |
215 MutateManifest( | 213 MutateManifest( |
216 &manifest, keys::kPlatformAppBackground, NULL); | 214 &manifest, keys::kPlatformAppBackground, NULL); |
217 | 215 |
218 // Platform apps also can't have a "Commands" key. | 216 // Platform apps also can't have a "Commands" key. |
219 EXPECT_FALSE(manifest->HasKey(keys::kCommands)); | 217 EXPECT_FALSE(manifest->HasKey(keys::kCommands)); |
220 EXPECT_FALSE(manifest->Get(keys::kCommands, &output)); | 218 EXPECT_FALSE(manifest->Get(keys::kCommands, &output)); |
221 } | 219 } |
222 | 220 |
223 } // namespace extensions | 221 } // namespace extensions |
OLD | NEW |