| Index: chrome/common/extensions/extension_manifests_unittest.cc
|
| diff --git a/chrome/common/extensions/extension_manifests_unittest.cc b/chrome/common/extensions/extension_manifests_unittest.cc
|
| index 01bcacf77ab991c53c608d8bc914037fc8279769..60763a098082b1e3dfeba193a1c434f97cc1ddef 100644
|
| --- a/chrome/common/extensions/extension_manifests_unittest.cc
|
| +++ b/chrome/common/extensions/extension_manifests_unittest.cc
|
| @@ -25,6 +25,7 @@
|
| #include "chrome/common/extensions/extension_action.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| #include "chrome/common/extensions/extension_error_utils.h"
|
| +#include "chrome/common/extensions/extension_l10n_util.h"
|
| #include "chrome/common/extensions/file_browser_handler.h"
|
| #include "chrome/common/extensions/url_pattern.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -50,16 +51,28 @@ class ExtensionManifestTest : public testing::Test {
|
| protected:
|
| static DictionaryValue* LoadManifestFile(const std::string& filename,
|
| std::string* error) {
|
| - FilePath path;
|
| - PathService::Get(chrome::DIR_TEST_DATA, &path);
|
| - path = path.AppendASCII("extensions")
|
| - .AppendASCII("manifest_tests")
|
| - .AppendASCII(filename.c_str());
|
| - EXPECT_TRUE(file_util::PathExists(path)) <<
|
| - "Couldn't find " << path.value();
|
| -
|
| - JSONFileValueSerializer serializer(path);
|
| - return static_cast<DictionaryValue*>(serializer.Deserialize(NULL, error));
|
| + FilePath extension_path;
|
| + PathService::Get(chrome::DIR_TEST_DATA, &extension_path);
|
| + extension_path = extension_path.AppendASCII("extensions")
|
| + .AppendASCII("manifest_tests");
|
| +
|
| + FilePath manifest_path = extension_path.AppendASCII(filename.c_str());
|
| + EXPECT_TRUE(file_util::PathExists(manifest_path)) <<
|
| + "Couldn't find " << manifest_path.value();
|
| +
|
| + JSONFileValueSerializer serializer(manifest_path);
|
| + DictionaryValue* manifest =
|
| + static_cast<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
|
| + // extension_file_util::LoadExtension.
|
| + if (manifest && filename.find("localized") != std::string::npos)
|
| + extension_l10n_util::LocalizeExtension(extension_path, manifest, error);
|
| +
|
| + return manifest;
|
| }
|
|
|
| // Helper class that simplifies creating methods that take either a filename
|
| @@ -433,24 +446,35 @@ TEST_F(ExtensionManifestTest, AppLaunchURL) {
|
| errors::kInvalidLaunchLocalPath);
|
| LoadAndExpectError("launch_path_invalid_value.json",
|
| errors::kInvalidLaunchLocalPath);
|
| + LoadAndExpectError("launch_path_invalid_localized.json",
|
| + errors::kInvalidLaunchLocalPath);
|
| LoadAndExpectError("launch_url_invalid_type_1.json",
|
| errors::kInvalidLaunchWebURL);
|
| LoadAndExpectError("launch_url_invalid_type_2.json",
|
| errors::kInvalidLaunchWebURL);
|
| LoadAndExpectError("launch_url_invalid_type_3.json",
|
| errors::kInvalidLaunchWebURL);
|
| + LoadAndExpectError("launch_url_invalid_localized.json",
|
| + errors::kInvalidLaunchWebURL);
|
|
|
| scoped_refptr<Extension> extension;
|
| extension = LoadAndExpectSuccess("launch_local_path.json");
|
| EXPECT_EQ(extension->url().spec() + "launch.html",
|
| extension->GetFullLaunchURL().spec());
|
|
|
| + extension = LoadAndExpectSuccess("launch_local_path_localized.json");
|
| + EXPECT_EQ(extension->url().spec() + "launch.html",
|
| + extension->GetFullLaunchURL().spec());
|
| +
|
| LoadAndExpectError("launch_web_url_relative.json",
|
| errors::kInvalidLaunchWebURL);
|
|
|
| extension = LoadAndExpectSuccess("launch_web_url_absolute.json");
|
| EXPECT_EQ(GURL("http://www.google.com/launch.html"),
|
| extension->GetFullLaunchURL());
|
| + extension = LoadAndExpectSuccess("launch_web_url_localized.json");
|
| + EXPECT_EQ(GURL("http://www.google.com/launch.html"),
|
| + extension->GetFullLaunchURL());
|
| }
|
|
|
| TEST_F(ExtensionManifestTest, Override) {
|
|
|