blob: 7158198fd49b9802e357f7ffdcb468b5a8685834 [file] [log] [blame]
// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/files/scoped_temp_dir.h"
#include "base/values.h"
#include "extensions/common/error_utils.h"
#include "extensions/common/extension.h"
#include "extensions/common/file_util.h"
#include "extensions/common/manifest_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace extensions {
TEST(ChromeURLOverridesHandlerTest, TestFileMissing) {
auto manifest = base::Value::Dict()
.Set("name", "ntp override")
.Set("version", "0.1")
.Set("manifest_version", 2)
.Set("description", "description")
.Set("chrome_url_overrides",
base::Value::Dict().Set("newtab", "newtab.html"));
std::string error;
std::vector<InstallWarning> warnings;
base::ScopedTempDir dir;
ASSERT_TRUE(dir.CreateUniqueTempDir());
scoped_refptr<Extension> extension =
Extension::Create(dir.GetPath(), mojom::ManifestLocation::kInternal,
manifest, Extension::NO_FLAGS, std::string(), &error);
ASSERT_TRUE(extension);
EXPECT_FALSE(
file_util::ValidateExtension(extension.get(), &error, &warnings));
EXPECT_EQ(ErrorUtils::FormatErrorMessage(manifest_errors::kFileNotFound,
"newtab.html"),
error);
}
} // namespace extensions