OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/file_path.h" | 6 #include "base/file_path.h" |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/scoped_ptr.h" | 9 #include "base/scoped_ptr.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 | 39 |
40 Extension* LoadExtensionWithLocation(DictionaryValue* value, | 40 Extension* LoadExtensionWithLocation(DictionaryValue* value, |
41 Extension::Location location, | 41 Extension::Location location, |
42 std::string* error) { | 42 std::string* error) { |
43 FilePath path; | 43 FilePath path; |
44 PathService::Get(chrome::DIR_TEST_DATA, &path); | 44 PathService::Get(chrome::DIR_TEST_DATA, &path); |
45 path = path.AppendASCII("extensions").AppendASCII("manifest_tests"); | 45 path = path.AppendASCII("extensions").AppendASCII("manifest_tests"); |
46 | 46 |
47 scoped_ptr<Extension> extension(new Extension(path.DirName())); | 47 scoped_ptr<Extension> extension(new Extension(path.DirName())); |
48 extension->set_location(location); | 48 extension->set_location(location); |
49 extension->set_apps_enabled(enable_apps_); | |
50 | 49 |
51 if (!extension->InitFromValue(*value, false, error)) | 50 if (!extension->InitFromValue(*value, false, error)) |
52 return NULL; | 51 return NULL; |
53 | 52 |
54 return extension.release(); | 53 return extension.release(); |
55 } | 54 } |
56 | 55 |
57 Extension* LoadExtension(const std::string& name, | 56 Extension* LoadExtension(const std::string& name, |
58 std::string* error) { | 57 std::string* error) { |
59 return LoadExtensionWithLocation(name, Extension::INTERNAL, error); | 58 return LoadExtensionWithLocation(name, Extension::INTERNAL, error); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 const std::string& name, | 111 const std::string& name, |
113 const std::string& expected_error) { | 112 const std::string& expected_error) { |
114 std::string error; | 113 std::string error; |
115 scoped_ptr<Extension> extension(LoadExtension(manifest, &error)); | 114 scoped_ptr<Extension> extension(LoadExtension(manifest, &error)); |
116 VerifyExpectedError(extension.get(), name, error, expected_error); | 115 VerifyExpectedError(extension.get(), name, error, expected_error); |
117 } | 116 } |
118 | 117 |
119 bool enable_apps_; | 118 bool enable_apps_; |
120 }; | 119 }; |
121 | 120 |
122 TEST_F(ExtensionManifestTest, AppsDisabledByDefault) { | |
123 #if defined(OS_CHROMEOS) | |
124 // On ChromeOS, apps are enabled by default. | |
125 if (Extension::AppsAreEnabled()) | |
126 return; | |
127 #endif | |
128 | |
129 enable_apps_ = false; | |
130 LoadAndExpectError("launch_local_path.json", errors::kAppsNotEnabled); | |
131 } | |
132 | |
133 TEST_F(ExtensionManifestTest, ValidApp) { | 121 TEST_F(ExtensionManifestTest, ValidApp) { |
134 scoped_ptr<Extension> extension(LoadAndExpectSuccess("valid_app.json")); | 122 scoped_ptr<Extension> extension(LoadAndExpectSuccess("valid_app.json")); |
135 ASSERT_EQ(2u, extension->web_extent().patterns().size()); | 123 ASSERT_EQ(2u, extension->web_extent().patterns().size()); |
136 EXPECT_EQ("http://www.google.com/mail/*", | 124 EXPECT_EQ("http://www.google.com/mail/*", |
137 extension->web_extent().patterns()[0].GetAsString()); | 125 extension->web_extent().patterns()[0].GetAsString()); |
138 EXPECT_EQ("http://www.google.com/foobar/*", | 126 EXPECT_EQ("http://www.google.com/foobar/*", |
139 extension->web_extent().patterns()[1].GetAsString()); | 127 extension->web_extent().patterns()[1].GetAsString()); |
140 EXPECT_EQ(extension_misc::LAUNCH_TAB, extension->launch_container()); | 128 EXPECT_EQ(extension_misc::LAUNCH_TAB, extension->launch_container()); |
141 EXPECT_EQ("http://www.google.com/mail/", extension->launch_web_url()); | 129 EXPECT_EQ("http://www.google.com/mail/", extension->launch_web_url()); |
142 } | 130 } |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 } | 325 } |
338 | 326 |
339 TEST_F(ExtensionManifestTest, NormalizeIconPaths) { | 327 TEST_F(ExtensionManifestTest, NormalizeIconPaths) { |
340 scoped_ptr<Extension> extension( | 328 scoped_ptr<Extension> extension( |
341 LoadAndExpectSuccess("normalize_icon_paths.json")); | 329 LoadAndExpectSuccess("normalize_icon_paths.json")); |
342 EXPECT_EQ("16.png", | 330 EXPECT_EQ("16.png", |
343 extension->icons().Get(16, ExtensionIconSet::MATCH_EXACTLY)); | 331 extension->icons().Get(16, ExtensionIconSet::MATCH_EXACTLY)); |
344 EXPECT_EQ("48.png", | 332 EXPECT_EQ("48.png", |
345 extension->icons().Get(48, ExtensionIconSet::MATCH_EXACTLY)); | 333 extension->icons().Get(48, ExtensionIconSet::MATCH_EXACTLY)); |
346 } | 334 } |
OLD | NEW |