| Index: chrome/common/extensions/extension_resource_unittest.cc
|
| ===================================================================
|
| --- chrome/common/extensions/extension_resource_unittest.cc (revision 29776)
|
| +++ chrome/common/extensions/extension_resource_unittest.cc (working copy)
|
| @@ -8,6 +8,7 @@
|
| #include "base/file_util.h"
|
| #include "base/path_service.h"
|
| #include "base/scoped_temp_dir.h"
|
| +#include "chrome/browser/extensions/extension_l10n_util.h"
|
| #include "chrome/common/chrome_paths.h"
|
| #include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/extensions/extension_resource.h"
|
| @@ -42,33 +43,41 @@
|
| EXPECT_FALSE(resource.GetFilePath().empty());
|
| }
|
|
|
| -TEST(ExtensionResourceTest, CreateWithBothResourcesOnDisk) {
|
| +TEST(ExtensionResourceTest, CreateWithAllResourcesOnDisk) {
|
| ScopedTempDir temp;
|
| ASSERT_TRUE(temp.CreateUniqueTempDir());
|
|
|
| + // Create resource in the extension root.
|
| const char* filename = "res.ico";
|
| FilePath root_resource = temp.path().AppendASCII(filename);
|
| std::string data = "some foo";
|
| ASSERT_TRUE(file_util::WriteFile(root_resource.AppendASCII(filename),
|
| data.c_str(), data.length()));
|
|
|
| + // Create l10n resources (for current locale and its parents).
|
| FilePath l10n_path = temp.path().AppendASCII(Extension::kLocaleFolder);
|
| ASSERT_TRUE(file_util::CreateDirectory(l10n_path));
|
|
|
| - static std::string current_locale = l10n_util::GetApplicationLocale(L"");
|
| - std::replace(current_locale.begin(), current_locale.end(), '-', '_');
|
| - l10n_path = l10n_path.AppendASCII(current_locale);
|
| - ASSERT_TRUE(file_util::CreateDirectory(l10n_path));
|
| + std::vector<std::string> locales;
|
| + extension_l10n_util::GetParentLocales(l10n_util::GetApplicationLocale(L""),
|
| + &locales);
|
| + for (size_t i = 0; i < locales.size(); i++) {
|
| + FilePath make_path;
|
| + make_path = l10n_path.AppendASCII(locales[i]);
|
| + ASSERT_TRUE(file_util::CreateDirectory(make_path));
|
| + ASSERT_TRUE(file_util::WriteFile(make_path.AppendASCII(filename),
|
| + data.c_str(), data.length()));
|
| + }
|
|
|
| - ASSERT_TRUE(file_util::WriteFile(l10n_path.AppendASCII(filename),
|
| - data.c_str(), data.length()));
|
| -
|
| FilePath path;
|
| ExtensionResource resource(temp.path(), FilePath().AppendASCII(filename));
|
| FilePath resolved_path = resource.GetFilePath();
|
|
|
| - EXPECT_EQ(ToLower(l10n_path.AppendASCII(filename).value()),
|
| - ToLower(resolved_path.value()));
|
| + ASSERT_FALSE(locales.empty());
|
| + FilePath expected_path;
|
| + expected_path = l10n_path.AppendASCII(locales[0]).AppendASCII(filename);
|
| +
|
| + EXPECT_EQ(ToLower(expected_path.value()), ToLower(resolved_path.value()));
|
| EXPECT_EQ(ToLower(temp.path().value()),
|
| ToLower(resource.extension_root().value()));
|
| EXPECT_EQ(ToLower(FilePath().AppendASCII(filename).value()),
|
|
|