| 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/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/json/json_file_value_serializer.h" | 9 #include "base/json/json_file_value_serializer.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| 11 #include "base/values.h" | 11 #include "base/values.h" |
| 12 #include "chrome/common/chrome_paths.h" | 12 #include "chrome/common/chrome_paths.h" |
| 13 #include "chrome/common/extensions/extension_l10n_util.h" | 13 #include "chrome/common/extensions/extension_l10n_util.h" |
| 14 #include "extensions/common/test_util.h" |
| 14 #include "ui/base/l10n/l10n_util.h" | 15 #include "ui/base/l10n/l10n_util.h" |
| 15 | 16 |
| 16 using extensions::Extension; | 17 using extensions::Extension; |
| 17 | 18 |
| 18 namespace { | 19 namespace { |
| 19 | 20 |
| 20 // If filename is a relative path, LoadManifestFile will treat it relative to | 21 // If filename is a relative path, LoadManifestFile will treat it relative to |
| 21 // the appropriate test directory. | 22 // the appropriate test directory. |
| 22 base::DictionaryValue* LoadManifestFile(const base::FilePath& filename_path, | 23 base::DictionaryValue* LoadManifestFile(const base::FilePath& filename_path, |
| 23 std::string* error) { | 24 std::string* error) { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 ExtensionManifestTest::Manifest::Manifest(const char* name) | 61 ExtensionManifestTest::Manifest::Manifest(const char* name) |
| 61 : name_(name), manifest_(NULL) { | 62 : name_(name), manifest_(NULL) { |
| 62 } | 63 } |
| 63 | 64 |
| 64 ExtensionManifestTest::Manifest::Manifest(base::DictionaryValue* manifest, | 65 ExtensionManifestTest::Manifest::Manifest(base::DictionaryValue* manifest, |
| 65 const char* name) | 66 const char* name) |
| 66 : name_(name), manifest_(manifest) { | 67 : name_(name), manifest_(manifest) { |
| 67 CHECK(manifest_) << "Manifest NULL"; | 68 CHECK(manifest_) << "Manifest NULL"; |
| 68 } | 69 } |
| 69 | 70 |
| 71 ExtensionManifestTest::Manifest::Manifest( |
| 72 scoped_ptr<base::DictionaryValue> manifest) |
| 73 : manifest_(manifest.get()), manifest_holder_(manifest.Pass()) { |
| 74 CHECK(manifest_) << "Manifest NULL"; |
| 75 } |
| 76 |
| 70 ExtensionManifestTest::Manifest::Manifest(const Manifest& m) { | 77 ExtensionManifestTest::Manifest::Manifest(const Manifest& m) { |
| 71 NOTREACHED(); | 78 NOTREACHED(); |
| 72 } | 79 } |
| 73 | 80 |
| 74 ExtensionManifestTest::Manifest::~Manifest() { | 81 ExtensionManifestTest::Manifest::~Manifest() { |
| 75 } | 82 } |
| 76 | 83 |
| 77 base::DictionaryValue* ExtensionManifestTest::Manifest::GetManifest( | 84 base::DictionaryValue* ExtensionManifestTest::Manifest::GetManifest( |
| 78 char const* test_data_dir, std::string* error) const { | 85 char const* test_data_dir, std::string* error) const { |
| 79 if (manifest_) | 86 if (manifest_) |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 return extension; | 134 return extension; |
| 128 } | 135 } |
| 129 | 136 |
| 130 scoped_refptr<Extension> ExtensionManifestTest::LoadAndExpectSuccess( | 137 scoped_refptr<Extension> ExtensionManifestTest::LoadAndExpectSuccess( |
| 131 char const* manifest_name, | 138 char const* manifest_name, |
| 132 extensions::Manifest::Location location, | 139 extensions::Manifest::Location location, |
| 133 int flags) { | 140 int flags) { |
| 134 return LoadAndExpectSuccess(Manifest(manifest_name), location, flags); | 141 return LoadAndExpectSuccess(Manifest(manifest_name), location, flags); |
| 135 } | 142 } |
| 136 | 143 |
| 144 scoped_refptr<Extension> ExtensionManifestTest::LoadFromStringAndExpectSuccess( |
| 145 char const* manifest_json) { |
| 146 return LoadAndExpectSuccess( |
| 147 Manifest(extensions::test_util::ParseJsonDictionaryWithSingleQuotes( |
| 148 manifest_json))); |
| 149 } |
| 150 |
| 137 scoped_refptr<Extension> ExtensionManifestTest::LoadAndExpectWarning( | 151 scoped_refptr<Extension> ExtensionManifestTest::LoadAndExpectWarning( |
| 138 const Manifest& manifest, | 152 const Manifest& manifest, |
| 139 const std::string& expected_warning, | 153 const std::string& expected_warning, |
| 140 extensions::Manifest::Location location, | 154 extensions::Manifest::Location location, |
| 141 int flags) { | 155 int flags) { |
| 142 std::string error; | 156 std::string error; |
| 143 scoped_refptr<Extension> extension = | 157 scoped_refptr<Extension> extension = |
| 144 LoadExtension(manifest, &error, location, flags); | 158 LoadExtension(manifest, &error, location, flags); |
| 145 EXPECT_TRUE(extension.get()) << manifest.name(); | 159 EXPECT_TRUE(extension.get()) << manifest.name(); |
| 146 EXPECT_EQ("", error) << manifest.name(); | 160 EXPECT_EQ("", error) << manifest.name(); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 | 198 |
| 185 void ExtensionManifestTest::LoadAndExpectError( | 199 void ExtensionManifestTest::LoadAndExpectError( |
| 186 char const* manifest_name, | 200 char const* manifest_name, |
| 187 const std::string& expected_error, | 201 const std::string& expected_error, |
| 188 extensions::Manifest::Location location, | 202 extensions::Manifest::Location location, |
| 189 int flags) { | 203 int flags) { |
| 190 return LoadAndExpectError( | 204 return LoadAndExpectError( |
| 191 Manifest(manifest_name), expected_error, location, flags); | 205 Manifest(manifest_name), expected_error, location, flags); |
| 192 } | 206 } |
| 193 | 207 |
| 208 void ExtensionManifestTest::LoadFromStringAndExpectError( |
| 209 char const* manifest_json, |
| 210 const std::string& expected_error) { |
| 211 return LoadAndExpectError( |
| 212 Manifest(extensions::test_util::ParseJsonDictionaryWithSingleQuotes( |
| 213 manifest_json)), |
| 214 expected_error); |
| 215 } |
| 216 |
| 194 void ExtensionManifestTest::AddPattern(extensions::URLPatternSet* extent, | 217 void ExtensionManifestTest::AddPattern(extensions::URLPatternSet* extent, |
| 195 const std::string& pattern) { | 218 const std::string& pattern) { |
| 196 int schemes = URLPattern::SCHEME_ALL; | 219 int schemes = URLPattern::SCHEME_ALL; |
| 197 extent->AddPattern(URLPattern(schemes, pattern)); | 220 extent->AddPattern(URLPattern(schemes, pattern)); |
| 198 } | 221 } |
| 199 | 222 |
| 200 ExtensionManifestTest::Testcase::Testcase( | 223 ExtensionManifestTest::Testcase::Testcase( |
| 201 std::string manifest_filename, | 224 std::string manifest_filename, |
| 202 std::string expected_error, | 225 std::string expected_error, |
| 203 extensions::Manifest::Location location, | 226 extensions::Manifest::Location location, |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 testcase.location_, | 273 testcase.location_, |
| 251 testcase.flags_); | 274 testcase.flags_); |
| 252 break; | 275 break; |
| 253 case EXPECT_TYPE_SUCCESS: | 276 case EXPECT_TYPE_SUCCESS: |
| 254 LoadAndExpectSuccess(testcase.manifest_filename_.c_str(), | 277 LoadAndExpectSuccess(testcase.manifest_filename_.c_str(), |
| 255 testcase.location_, | 278 testcase.location_, |
| 256 testcase.flags_); | 279 testcase.flags_); |
| 257 break; | 280 break; |
| 258 } | 281 } |
| 259 } | 282 } |
| OLD | NEW |