| Index: chrome/common/extensions/extension_test_util.cc
|
| diff --git a/chrome/common/extensions/extension_test_util.cc b/chrome/common/extensions/extension_test_util.cc
|
| index 621db1efe712742e4c6b36cea14b0e8d6e9b0de4..b9b0425605740643b6acc7594b6a01dfd72000c1 100644
|
| --- a/chrome/common/extensions/extension_test_util.cc
|
| +++ b/chrome/common/extensions/extension_test_util.cc
|
| @@ -2,13 +2,19 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "chrome/common/extensions/extension_test_util.h"
|
| +
|
| +#include "base/files/file_path.h"
|
| +#include "base/json/json_file_value_serializer.h"
|
| +#include "base/path_service.h"
|
| #include "base/values.h"
|
| +#include "chrome/common/chrome_paths.h"
|
| #include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/extensions/extension_manifest_constants.h"
|
| -#include "chrome/common/extensions/extension_test_util.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| using extensions::Extension;
|
| +using extensions::Manifest;
|
|
|
| namespace extension_test_util {
|
|
|
| @@ -21,4 +27,65 @@ scoped_refptr<Extension> CreateExtensionWithID(std::string id) {
|
| values, Extension::NO_FLAGS, id, &error);
|
| }
|
|
|
| +scoped_refptr<Extension> LoadManifestUnchecked(const std::string& dir,
|
| + const std::string& test_file,
|
| + Manifest::Location location,
|
| + int extra_flags,
|
| + const std::string& id,
|
| + std::string* error) {
|
| + base::FilePath path;
|
| + PathService::Get(chrome::DIR_TEST_DATA, &path);
|
| + path = path.AppendASCII("extensions")
|
| + .AppendASCII(dir)
|
| + .AppendASCII(test_file);
|
| +
|
| + JSONFileValueSerializer serializer(path);
|
| + scoped_ptr<Value> result(serializer.Deserialize(NULL, error));
|
| + if (!result)
|
| + return NULL;
|
| + const DictionaryValue* dict;
|
| + CHECK(result->GetAsDictionary(&dict));
|
| +
|
| + scoped_refptr<Extension> extension = Extension::Create(
|
| + path.DirName(), location, *dict, extra_flags, id, error);
|
| + return extension;
|
| +}
|
| +
|
| +scoped_refptr<Extension> LoadManifestUnchecked(const std::string& dir,
|
| + const std::string& test_file,
|
| + Manifest::Location location,
|
| + int extra_flags,
|
| + std::string* error) {
|
| + return LoadManifestUnchecked(
|
| + dir, test_file, location, extra_flags, std::string(), error);
|
| +}
|
| +
|
| +scoped_refptr<Extension> LoadManifest(const std::string& dir,
|
| + const std::string& test_file,
|
| + Manifest::Location location,
|
| + int extra_flags) {
|
| + std::string error;
|
| + scoped_refptr<Extension> extension =
|
| + LoadManifestUnchecked(dir, test_file, location, extra_flags, &error);
|
| +
|
| + EXPECT_TRUE(extension) << test_file << ":" << error;
|
| + return extension;
|
| +}
|
| +
|
| +scoped_refptr<Extension> LoadManifest(const std::string& dir,
|
| + const std::string& test_file,
|
| + int extra_flags) {
|
| + return LoadManifest(dir, test_file, Manifest::INVALID_LOCATION, extra_flags);
|
| +}
|
| +
|
| +scoped_refptr<Extension> LoadManifestStrict(const std::string& dir,
|
| + const std::string& test_file) {
|
| + return LoadManifest(dir, test_file, Extension::NO_FLAGS);
|
| +}
|
| +
|
| +scoped_refptr<Extension> LoadManifest(const std::string& dir,
|
| + const std::string& test_file) {
|
| + return LoadManifest(dir, test_file, Extension::NO_FLAGS);
|
| +}
|
| +
|
| } // namespace extension_test_util
|
|
|