| Index: extensions/common/manifest_test.cc
|
| diff --git a/extensions/common/manifest_test.cc b/extensions/common/manifest_test.cc
|
| deleted file mode 100644
|
| index b1ab11551c0dc5e99593ae489918f1b96f2ec71d..0000000000000000000000000000000000000000
|
| --- a/extensions/common/manifest_test.cc
|
| +++ /dev/null
|
| @@ -1,258 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "extensions/common/manifest_test.h"
|
| -
|
| -#include "base/files/file_path.h"
|
| -#include "base/files/file_util.h"
|
| -#include "base/json/json_file_value_serializer.h"
|
| -#include "base/path_service.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "base/values.h"
|
| -#include "extensions/common/extension_l10n_util.h"
|
| -#include "extensions/common/extension_paths.h"
|
| -#include "extensions/common/test_util.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -
|
| -namespace extensions {
|
| -namespace {
|
| -
|
| -// |manifest_path| is an absolute path to a manifest file.
|
| -base::DictionaryValue* LoadManifestFile(const base::FilePath& manifest_path,
|
| - std::string* error) {
|
| - base::FilePath extension_path = manifest_path.DirName();
|
| -
|
| - EXPECT_TRUE(base::PathExists(manifest_path)) <<
|
| - "Couldn't find " << manifest_path.value();
|
| -
|
| - JSONFileValueSerializer serializer(manifest_path);
|
| - base::DictionaryValue* manifest =
|
| - static_cast<base::DictionaryValue*>(serializer.Deserialize(NULL, error));
|
| -
|
| - // Most unit tests don't need localization, and they'll fail if we try to
|
| - // localize them, since their manifests don't have a default_locale key.
|
| - // Only localize manifests that indicate they want to be localized.
|
| - // Calling LocalizeExtension at this point mirrors file_util::LoadExtension.
|
| - if (manifest &&
|
| - manifest_path.value().find(FILE_PATH_LITERAL("localized")) !=
|
| - std::string::npos)
|
| - extension_l10n_util::LocalizeExtension(extension_path, manifest, error);
|
| -
|
| - return manifest;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -ManifestTest::ManifestTest()
|
| - : enable_apps_(true) {
|
| -}
|
| -
|
| -ManifestTest::~ManifestTest() {
|
| -}
|
| -
|
| -// Helper class that simplifies creating methods that take either a filename
|
| -// to a manifest or the manifest itself.
|
| -ManifestTest::ManifestData::ManifestData(const char* name)
|
| - : name_(name), manifest_(NULL) {
|
| -}
|
| -
|
| -ManifestTest::ManifestData::ManifestData(base::DictionaryValue* manifest,
|
| - const char* name)
|
| - : name_(name), manifest_(manifest) {
|
| - CHECK(manifest_) << "Manifest NULL";
|
| -}
|
| -
|
| -ManifestTest::ManifestData::ManifestData(
|
| - scoped_ptr<base::DictionaryValue> manifest)
|
| - : manifest_(manifest.get()), manifest_holder_(manifest.Pass()) {
|
| - CHECK(manifest_) << "Manifest NULL";
|
| -}
|
| -
|
| -ManifestTest::ManifestData::ManifestData(const ManifestData& m) {
|
| - NOTREACHED();
|
| -}
|
| -
|
| -ManifestTest::ManifestData::~ManifestData() {
|
| -}
|
| -
|
| -base::DictionaryValue* ManifestTest::ManifestData::GetManifest(
|
| - base::FilePath test_data_dir, std::string* error) const {
|
| - if (manifest_)
|
| - return manifest_;
|
| -
|
| - base::FilePath manifest_path = test_data_dir.AppendASCII(name_);
|
| - manifest_ = LoadManifestFile(manifest_path, error);
|
| - manifest_holder_.reset(manifest_);
|
| - return manifest_;
|
| -}
|
| -
|
| -base::FilePath ManifestTest::GetTestDataDir() {
|
| - base::FilePath path;
|
| - PathService::Get(DIR_TEST_DATA, &path);
|
| - return path.AppendASCII("manifest_tests");
|
| -}
|
| -
|
| -scoped_ptr<base::DictionaryValue> ManifestTest::LoadManifest(
|
| - char const* manifest_name, std::string* error) {
|
| - base::FilePath manifest_path = GetTestDataDir().AppendASCII(manifest_name);
|
| - return make_scoped_ptr(LoadManifestFile(manifest_path, error));
|
| -}
|
| -
|
| -scoped_refptr<Extension> ManifestTest::LoadExtension(
|
| - const ManifestData& manifest,
|
| - std::string* error,
|
| - extensions::Manifest::Location location,
|
| - int flags) {
|
| - base::FilePath test_data_dir = GetTestDataDir();
|
| - base::DictionaryValue* value = manifest.GetManifest(test_data_dir, error);
|
| - if (!value)
|
| - return NULL;
|
| - return Extension::Create(
|
| - test_data_dir.DirName(), location, *value, flags, error);
|
| -}
|
| -
|
| -scoped_refptr<Extension> ManifestTest::LoadAndExpectSuccess(
|
| - const ManifestData& manifest,
|
| - extensions::Manifest::Location location,
|
| - int flags) {
|
| - std::string error;
|
| - scoped_refptr<Extension> extension =
|
| - LoadExtension(manifest, &error, location, flags);
|
| - EXPECT_TRUE(extension.get()) << manifest.name();
|
| - EXPECT_EQ("", error) << manifest.name();
|
| - return extension;
|
| -}
|
| -
|
| -scoped_refptr<Extension> ManifestTest::LoadAndExpectSuccess(
|
| - char const* manifest_name,
|
| - extensions::Manifest::Location location,
|
| - int flags) {
|
| - return LoadAndExpectSuccess(ManifestData(manifest_name), location, flags);
|
| -}
|
| -
|
| -scoped_refptr<Extension> ManifestTest::LoadAndExpectWarning(
|
| - const ManifestData& manifest,
|
| - const std::string& expected_warning,
|
| - extensions::Manifest::Location location,
|
| - int flags) {
|
| - std::string error;
|
| - scoped_refptr<Extension> extension =
|
| - LoadExtension(manifest, &error, location, flags);
|
| - EXPECT_TRUE(extension.get()) << manifest.name();
|
| - EXPECT_EQ("", error) << manifest.name();
|
| - EXPECT_EQ(1u, extension->install_warnings().size());
|
| - EXPECT_EQ(expected_warning, extension->install_warnings()[0].message);
|
| - return extension;
|
| -}
|
| -
|
| -scoped_refptr<Extension> ManifestTest::LoadAndExpectWarning(
|
| - char const* manifest_name,
|
| - const std::string& expected_warning,
|
| - extensions::Manifest::Location location,
|
| - int flags) {
|
| - return LoadAndExpectWarning(
|
| - ManifestData(manifest_name), expected_warning, location, flags);
|
| -}
|
| -
|
| -void ManifestTest::VerifyExpectedError(
|
| - Extension* extension,
|
| - const std::string& name,
|
| - const std::string& error,
|
| - const std::string& expected_error) {
|
| - EXPECT_FALSE(extension) <<
|
| - "Expected failure loading extension '" << name <<
|
| - "', but didn't get one.";
|
| - EXPECT_TRUE(MatchPattern(error, expected_error)) << name <<
|
| - " expected '" << expected_error << "' but got '" << error << "'";
|
| -}
|
| -
|
| -void ManifestTest::LoadAndExpectError(
|
| - const ManifestData& manifest,
|
| - const std::string& expected_error,
|
| - extensions::Manifest::Location location,
|
| - int flags) {
|
| - std::string error;
|
| - scoped_refptr<Extension> extension(
|
| - LoadExtension(manifest, &error, location, flags));
|
| - VerifyExpectedError(extension.get(), manifest.name(), error,
|
| - expected_error);
|
| -}
|
| -
|
| -void ManifestTest::LoadAndExpectError(
|
| - char const* manifest_name,
|
| - const std::string& expected_error,
|
| - extensions::Manifest::Location location,
|
| - int flags) {
|
| - return LoadAndExpectError(
|
| - ManifestData(manifest_name), expected_error, location, flags);
|
| -}
|
| -
|
| -void ManifestTest::AddPattern(extensions::URLPatternSet* extent,
|
| - const std::string& pattern) {
|
| - int schemes = URLPattern::SCHEME_ALL;
|
| - extent->AddPattern(URLPattern(schemes, pattern));
|
| -}
|
| -
|
| -ManifestTest::Testcase::Testcase(
|
| - std::string manifest_filename,
|
| - std::string expected_error,
|
| - extensions::Manifest::Location location,
|
| - int flags)
|
| - : manifest_filename_(manifest_filename),
|
| - expected_error_(expected_error),
|
| - location_(location), flags_(flags) {
|
| -}
|
| -
|
| -ManifestTest::Testcase::Testcase(std::string manifest_filename,
|
| - std::string expected_error)
|
| - : manifest_filename_(manifest_filename),
|
| - expected_error_(expected_error),
|
| - location_(extensions::Manifest::INTERNAL),
|
| - flags_(Extension::NO_FLAGS) {
|
| -}
|
| -
|
| -ManifestTest::Testcase::Testcase(std::string manifest_filename)
|
| - : manifest_filename_(manifest_filename),
|
| - location_(extensions::Manifest::INTERNAL),
|
| - flags_(Extension::NO_FLAGS) {}
|
| -
|
| -ManifestTest::Testcase::Testcase(
|
| - std::string manifest_filename,
|
| - extensions::Manifest::Location location,
|
| - int flags)
|
| - : manifest_filename_(manifest_filename),
|
| - location_(location),
|
| - flags_(flags) {}
|
| -
|
| -void ManifestTest::RunTestcases(const Testcase* testcases,
|
| - size_t num_testcases,
|
| - ExpectType type) {
|
| - for (size_t i = 0; i < num_testcases; ++i)
|
| - RunTestcase(testcases[i], type);
|
| -}
|
| -
|
| -void ManifestTest::RunTestcase(const Testcase& testcase,
|
| - ExpectType type) {
|
| - switch (type) {
|
| - case EXPECT_TYPE_ERROR:
|
| - LoadAndExpectError(testcase.manifest_filename_.c_str(),
|
| - testcase.expected_error_,
|
| - testcase.location_,
|
| - testcase.flags_);
|
| - break;
|
| - case EXPECT_TYPE_WARNING:
|
| - LoadAndExpectWarning(testcase.manifest_filename_.c_str(),
|
| - testcase.expected_error_,
|
| - testcase.location_,
|
| - testcase.flags_);
|
| - break;
|
| - case EXPECT_TYPE_SUCCESS:
|
| - LoadAndExpectSuccess(testcase.manifest_filename_.c_str(),
|
| - testcase.location_,
|
| - testcase.flags_);
|
| - break;
|
| - }
|
| -}
|
| -
|
| -} // namespace extensions
|
|
|