OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/extension.h" | 5 #include "chrome/common/extensions/extension.h" |
6 | 6 |
7 #if defined(TOOLKIT_GTK) | 7 #if defined(TOOLKIT_GTK) |
8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
9 #endif | 9 #endif |
10 | 10 |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 {"init_invalid_files_css_item_invalid.json", errors::kInvalidCss}, | 200 {"init_invalid_files_css_item_invalid.json", errors::kInvalidCss}, |
201 {"init_invalid_permissions_invalid.json", errors::kInvalidPermissions}, | 201 {"init_invalid_permissions_invalid.json", errors::kInvalidPermissions}, |
202 {"init_invalid_permissions_item_invalid.json", errors::kInvalidPermission}, | 202 {"init_invalid_permissions_item_invalid.json", errors::kInvalidPermission}, |
203 {"init_invalid_page_actions_multi.json", | 203 {"init_invalid_page_actions_multi.json", |
204 errors::kInvalidPageActionsListSize}, | 204 errors::kInvalidPageActionsListSize}, |
205 {"init_invalid_options_url_invalid.json", errors::kInvalidOptionsPage}, | 205 {"init_invalid_options_url_invalid.json", errors::kInvalidOptionsPage}, |
206 {"init_invalid_locale_invalid.json", errors::kInvalidDefaultLocale}, | 206 {"init_invalid_locale_invalid.json", errors::kInvalidDefaultLocale}, |
207 {"init_invalid_locale_empty.json", errors::kInvalidDefaultLocale}, | 207 {"init_invalid_locale_empty.json", errors::kInvalidDefaultLocale}, |
208 {"init_invalid_min_chrome_invalid.json", | 208 {"init_invalid_min_chrome_invalid.json", |
209 errors::kInvalidMinimumChromeVersion}, | 209 errors::kInvalidMinimumChromeVersion}, |
210 {"init_invalid_chrome_version_too_low.json", errors::kChromeVersionTooLow} | 210 {"init_invalid_chrome_version_too_low.json", errors::kChromeVersionTooLow}, |
| 211 {"init_invalid_requirements_1.json", errors::kInvalidRequirements}, |
| 212 {"init_invalid_requirements_2.json", errors::kInvalidRequirement} |
211 }; | 213 }; |
212 | 214 |
213 RunTestcases(testcases, arraysize(testcases)); | 215 RunTestcases(testcases, arraysize(testcases)); |
214 } | 216 } |
215 | 217 |
216 TEST_F(ExtensionManifestTest, InitFromValueValid) { | 218 TEST_F(ExtensionManifestTest, InitFromValueValid) { |
217 scoped_refptr<Extension> extension(LoadAndExpectSuccess( | 219 scoped_refptr<Extension> extension(LoadAndExpectSuccess( |
218 "init_valid_minimal.json")); | 220 "init_valid_minimal.json")); |
219 | 221 |
220 FilePath path; | 222 FilePath path; |
(...skipping 17 matching lines...) Expand all Loading... |
238 EXPECT_EQ("chrome-extension", extension->options_url().scheme()); | 240 EXPECT_EQ("chrome-extension", extension->options_url().scheme()); |
239 EXPECT_EQ("/options.html", extension->options_url().path()); | 241 EXPECT_EQ("/options.html", extension->options_url().path()); |
240 | 242 |
241 // Test that an empty list of page actions does not stop a browser action | 243 // Test that an empty list of page actions does not stop a browser action |
242 // from being loaded. | 244 // from being loaded. |
243 extension = LoadAndExpectSuccess("init_valid_empty_page_actions.json"); | 245 extension = LoadAndExpectSuccess("init_valid_empty_page_actions.json"); |
244 | 246 |
245 // Test with a minimum_chrome_version. | 247 // Test with a minimum_chrome_version. |
246 extension = LoadAndExpectSuccess("init_valid_minimum_chrome.json"); | 248 extension = LoadAndExpectSuccess("init_valid_minimum_chrome.json"); |
247 | 249 |
| 250 // Test a hosted app with a requirements section. |
| 251 extension = LoadAndExpectSuccess("init_valid_app_requirements.json"); |
| 252 |
248 // Verify empty permission settings are considered valid. | 253 // Verify empty permission settings are considered valid. |
249 LoadAndExpectSuccess("init_valid_permissions_empty.json"); | 254 LoadAndExpectSuccess("init_valid_permissions_empty.json"); |
250 | 255 |
251 // We allow unknown API permissions, so this will be valid until we better | 256 // We allow unknown API permissions, so this will be valid until we better |
252 // distinguish between API and host permissions. | 257 // distinguish between API and host permissions. |
253 LoadAndExpectSuccess("init_valid_permissions_unknown.json"); | 258 LoadAndExpectSuccess("init_valid_permissions_unknown.json"); |
254 } | 259 } |
255 | 260 |
256 TEST_F(ExtensionManifestTest, InitFromValueValidNameInRTL) { | 261 TEST_F(ExtensionManifestTest, InitFromValueValidNameInRTL) { |
257 #if defined(TOOLKIT_GTK) | 262 #if defined(TOOLKIT_GTK) |
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
839 scoped_refptr<Extension> extension_2( | 844 scoped_refptr<Extension> extension_2( |
840 LoadAndExpectSuccess("offline_disabled_packaged_app.json")); | 845 LoadAndExpectSuccess("offline_disabled_packaged_app.json")); |
841 EXPECT_FALSE(extension_2->offline_enabled()); | 846 EXPECT_FALSE(extension_2->offline_enabled()); |
842 scoped_refptr<Extension> extension_3( | 847 scoped_refptr<Extension> extension_3( |
843 LoadAndExpectSuccess("offline_default_packaged_app.json")); | 848 LoadAndExpectSuccess("offline_default_packaged_app.json")); |
844 EXPECT_FALSE(extension_3->offline_enabled()); | 849 EXPECT_FALSE(extension_3->offline_enabled()); |
845 scoped_refptr<Extension> extension_4( | 850 scoped_refptr<Extension> extension_4( |
846 LoadAndExpectSuccess("offline_enabled_hosted_app.json")); | 851 LoadAndExpectSuccess("offline_enabled_hosted_app.json")); |
847 EXPECT_TRUE(extension_4->offline_enabled()); | 852 EXPECT_TRUE(extension_4->offline_enabled()); |
848 } | 853 } |
OLD | NEW |