Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(447)

Side by Side Diff: chrome/common/extensions/extension_l10n_util_unittest.cc

Issue 100573002: Move directory creation functions to base namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/files/file_path.h" 6 #include "base/files/file_path.h"
7 #include "base/files/scoped_temp_dir.h" 7 #include "base/files/scoped_temp_dir.h"
8 #include "base/memory/linked_ptr.h" 8 #include "base/memory/linked_ptr.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 17 matching lines...) Expand all
28 namespace keys = extensions::manifest_keys; 28 namespace keys = extensions::manifest_keys;
29 29
30 namespace { 30 namespace {
31 31
32 TEST(ExtensionL10nUtil, ValidateLocalesWithBadLocale) { 32 TEST(ExtensionL10nUtil, ValidateLocalesWithBadLocale) {
33 base::ScopedTempDir temp; 33 base::ScopedTempDir temp;
34 ASSERT_TRUE(temp.CreateUniqueTempDir()); 34 ASSERT_TRUE(temp.CreateUniqueTempDir());
35 35
36 base::FilePath src_path = temp.path().Append(kLocaleFolder); 36 base::FilePath src_path = temp.path().Append(kLocaleFolder);
37 base::FilePath locale = src_path.AppendASCII("ms"); 37 base::FilePath locale = src_path.AppendASCII("ms");
38 ASSERT_TRUE(file_util::CreateDirectory(locale)); 38 ASSERT_TRUE(base::CreateDirectory(locale));
39 39
40 base::FilePath messages_file = locale.Append(kMessagesFilename); 40 base::FilePath messages_file = locale.Append(kMessagesFilename);
41 std::string data = "{ \"name\":"; 41 std::string data = "{ \"name\":";
42 ASSERT_TRUE(file_util::WriteFile(messages_file, data.c_str(), data.length())); 42 ASSERT_TRUE(file_util::WriteFile(messages_file, data.c_str(), data.length()));
43 43
44 base::DictionaryValue manifest; 44 base::DictionaryValue manifest;
45 manifest.SetString(keys::kDefaultLocale, "en"); 45 manifest.SetString(keys::kDefaultLocale, "en");
46 std::string error; 46 std::string error;
47 EXPECT_FALSE(extension_l10n_util::ValidateExtensionLocales( 47 EXPECT_FALSE(extension_l10n_util::ValidateExtensionLocales(
48 temp.path(), &manifest, &error)); 48 temp.path(), &manifest, &error));
49 EXPECT_THAT(error, 49 EXPECT_THAT(error,
50 testing::HasSubstr( 50 testing::HasSubstr(
51 UTF16ToUTF8(messages_file.LossyDisplayName()))); 51 UTF16ToUTF8(messages_file.LossyDisplayName())));
52 } 52 }
53 53
54 TEST(ExtensionL10nUtil, GetValidLocalesEmptyLocaleFolder) { 54 TEST(ExtensionL10nUtil, GetValidLocalesEmptyLocaleFolder) {
55 base::ScopedTempDir temp; 55 base::ScopedTempDir temp;
56 ASSERT_TRUE(temp.CreateUniqueTempDir()); 56 ASSERT_TRUE(temp.CreateUniqueTempDir());
57 57
58 base::FilePath src_path = temp.path().Append(kLocaleFolder); 58 base::FilePath src_path = temp.path().Append(kLocaleFolder);
59 ASSERT_TRUE(file_util::CreateDirectory(src_path)); 59 ASSERT_TRUE(base::CreateDirectory(src_path));
60 60
61 std::string error; 61 std::string error;
62 std::set<std::string> locales; 62 std::set<std::string> locales;
63 EXPECT_FALSE(extension_l10n_util::GetValidLocales(src_path, 63 EXPECT_FALSE(extension_l10n_util::GetValidLocales(src_path,
64 &locales, 64 &locales,
65 &error)); 65 &error));
66 66
67 EXPECT_TRUE(locales.empty()); 67 EXPECT_TRUE(locales.empty());
68 } 68 }
69 69
70 TEST(ExtensionL10nUtil, GetValidLocalesWithValidLocaleNoMessagesFile) { 70 TEST(ExtensionL10nUtil, GetValidLocalesWithValidLocaleNoMessagesFile) {
71 base::ScopedTempDir temp; 71 base::ScopedTempDir temp;
72 ASSERT_TRUE(temp.CreateUniqueTempDir()); 72 ASSERT_TRUE(temp.CreateUniqueTempDir());
73 73
74 base::FilePath src_path = temp.path().Append(kLocaleFolder); 74 base::FilePath src_path = temp.path().Append(kLocaleFolder);
75 ASSERT_TRUE(file_util::CreateDirectory(src_path)); 75 ASSERT_TRUE(base::CreateDirectory(src_path));
76 ASSERT_TRUE(file_util::CreateDirectory(src_path.AppendASCII("sr"))); 76 ASSERT_TRUE(base::CreateDirectory(src_path.AppendASCII("sr")));
77 77
78 std::string error; 78 std::string error;
79 std::set<std::string> locales; 79 std::set<std::string> locales;
80 EXPECT_FALSE(extension_l10n_util::GetValidLocales(src_path, 80 EXPECT_FALSE(extension_l10n_util::GetValidLocales(src_path,
81 &locales, 81 &locales,
82 &error)); 82 &error));
83 83
84 EXPECT_TRUE(locales.empty()); 84 EXPECT_TRUE(locales.empty());
85 } 85 }
86 86
87 TEST(ExtensionL10nUtil, GetValidLocalesWithUnsupportedLocale) { 87 TEST(ExtensionL10nUtil, GetValidLocalesWithUnsupportedLocale) {
88 base::ScopedTempDir temp; 88 base::ScopedTempDir temp;
89 ASSERT_TRUE(temp.CreateUniqueTempDir()); 89 ASSERT_TRUE(temp.CreateUniqueTempDir());
90 90
91 base::FilePath src_path = temp.path().Append(kLocaleFolder); 91 base::FilePath src_path = temp.path().Append(kLocaleFolder);
92 ASSERT_TRUE(file_util::CreateDirectory(src_path)); 92 ASSERT_TRUE(base::CreateDirectory(src_path));
93 // Supported locale. 93 // Supported locale.
94 base::FilePath locale_1 = src_path.AppendASCII("sr"); 94 base::FilePath locale_1 = src_path.AppendASCII("sr");
95 ASSERT_TRUE(file_util::CreateDirectory(locale_1)); 95 ASSERT_TRUE(base::CreateDirectory(locale_1));
96 std::string data("whatever"); 96 std::string data("whatever");
97 ASSERT_TRUE(file_util::WriteFile( 97 ASSERT_TRUE(file_util::WriteFile(
98 locale_1.Append(kMessagesFilename), 98 locale_1.Append(kMessagesFilename),
99 data.c_str(), data.length())); 99 data.c_str(), data.length()));
100 // Unsupported locale. 100 // Unsupported locale.
101 ASSERT_TRUE(file_util::CreateDirectory(src_path.AppendASCII("xxx_yyy"))); 101 ASSERT_TRUE(base::CreateDirectory(src_path.AppendASCII("xxx_yyy")));
102 102
103 std::string error; 103 std::string error;
104 std::set<std::string> locales; 104 std::set<std::string> locales;
105 EXPECT_TRUE(extension_l10n_util::GetValidLocales(src_path, 105 EXPECT_TRUE(extension_l10n_util::GetValidLocales(src_path,
106 &locales, 106 &locales,
107 &error)); 107 &error));
108 108
109 EXPECT_FALSE(locales.empty()); 109 EXPECT_FALSE(locales.empty());
110 EXPECT_TRUE(locales.find("sr") != locales.end()); 110 EXPECT_TRUE(locales.find("sr") != locales.end());
111 EXPECT_FALSE(locales.find("xxx_yyy") != locales.end()); 111 EXPECT_FALSE(locales.find("xxx_yyy") != locales.end());
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 EXPECT_TRUE(error.empty()); 154 EXPECT_TRUE(error.empty());
155 EXPECT_EQ("Color", bundle->GetL10nMessage("color")); 155 EXPECT_EQ("Color", bundle->GetL10nMessage("color"));
156 EXPECT_EQ("Not in the US or GB.", bundle->GetL10nMessage("not_in_US_or_GB")); 156 EXPECT_EQ("Not in the US or GB.", bundle->GetL10nMessage("not_in_US_or_GB"));
157 } 157 }
158 158
159 TEST(ExtensionL10nUtil, LoadMessageCatalogsMissingFiles) { 159 TEST(ExtensionL10nUtil, LoadMessageCatalogsMissingFiles) {
160 base::ScopedTempDir temp; 160 base::ScopedTempDir temp;
161 ASSERT_TRUE(temp.CreateUniqueTempDir()); 161 ASSERT_TRUE(temp.CreateUniqueTempDir());
162 162
163 base::FilePath src_path = temp.path().Append(kLocaleFolder); 163 base::FilePath src_path = temp.path().Append(kLocaleFolder);
164 ASSERT_TRUE(file_util::CreateDirectory(src_path)); 164 ASSERT_TRUE(base::CreateDirectory(src_path));
165 165
166 std::set<std::string> valid_locales; 166 std::set<std::string> valid_locales;
167 valid_locales.insert("sr"); 167 valid_locales.insert("sr");
168 valid_locales.insert("en"); 168 valid_locales.insert("en");
169 std::string error; 169 std::string error;
170 EXPECT_TRUE(NULL == extension_l10n_util::LoadMessageCatalogs(src_path, 170 EXPECT_TRUE(NULL == extension_l10n_util::LoadMessageCatalogs(src_path,
171 "en", 171 "en",
172 "sr", 172 "sr",
173 valid_locales, 173 valid_locales,
174 &error)); 174 &error));
175 EXPECT_FALSE(error.empty()); 175 EXPECT_FALSE(error.empty());
176 } 176 }
177 177
178 TEST(ExtensionL10nUtil, LoadMessageCatalogsBadJSONFormat) { 178 TEST(ExtensionL10nUtil, LoadMessageCatalogsBadJSONFormat) {
179 base::ScopedTempDir temp; 179 base::ScopedTempDir temp;
180 ASSERT_TRUE(temp.CreateUniqueTempDir()); 180 ASSERT_TRUE(temp.CreateUniqueTempDir());
181 181
182 base::FilePath src_path = temp.path().Append(kLocaleFolder); 182 base::FilePath src_path = temp.path().Append(kLocaleFolder);
183 ASSERT_TRUE(file_util::CreateDirectory(src_path)); 183 ASSERT_TRUE(base::CreateDirectory(src_path));
184 184
185 base::FilePath locale = src_path.AppendASCII("sr"); 185 base::FilePath locale = src_path.AppendASCII("sr");
186 ASSERT_TRUE(file_util::CreateDirectory(locale)); 186 ASSERT_TRUE(base::CreateDirectory(locale));
187 187
188 std::string data = "{ \"name\":"; 188 std::string data = "{ \"name\":";
189 base::FilePath messages_file = locale.Append(kMessagesFilename); 189 base::FilePath messages_file = locale.Append(kMessagesFilename);
190 ASSERT_TRUE(file_util::WriteFile(messages_file, data.c_str(), data.length())); 190 ASSERT_TRUE(file_util::WriteFile(messages_file, data.c_str(), data.length()));
191 191
192 std::set<std::string> valid_locales; 192 std::set<std::string> valid_locales;
193 valid_locales.insert("sr"); 193 valid_locales.insert("sr");
194 valid_locales.insert("en_US"); 194 valid_locales.insert("en_US");
195 std::string error; 195 std::string error;
196 EXPECT_TRUE(NULL == extension_l10n_util::LoadMessageCatalogs(src_path, 196 EXPECT_TRUE(NULL == extension_l10n_util::LoadMessageCatalogs(src_path,
197 "en_US", 197 "en_US",
198 "sr", 198 "sr",
199 valid_locales, 199 valid_locales,
200 &error)); 200 &error));
201 EXPECT_EQ( 201 EXPECT_EQ(
202 extensions::ErrorUtils::FormatErrorMessage( 202 extensions::ErrorUtils::FormatErrorMessage(
203 errors::kLocalesInvalidLocale, 203 errors::kLocalesInvalidLocale,
204 base::UTF16ToUTF8(messages_file.LossyDisplayName()), 204 base::UTF16ToUTF8(messages_file.LossyDisplayName()),
205 "Line: 1, column: 10, Unexpected token."), 205 "Line: 1, column: 10, Unexpected token."),
206 error); 206 error);
207 } 207 }
208 208
209 TEST(ExtensionL10nUtil, LoadMessageCatalogsDuplicateKeys) { 209 TEST(ExtensionL10nUtil, LoadMessageCatalogsDuplicateKeys) {
210 base::ScopedTempDir temp; 210 base::ScopedTempDir temp;
211 ASSERT_TRUE(temp.CreateUniqueTempDir()); 211 ASSERT_TRUE(temp.CreateUniqueTempDir());
212 212
213 base::FilePath src_path = temp.path().Append(kLocaleFolder); 213 base::FilePath src_path = temp.path().Append(kLocaleFolder);
214 ASSERT_TRUE(file_util::CreateDirectory(src_path)); 214 ASSERT_TRUE(base::CreateDirectory(src_path));
215 215
216 base::FilePath locale_1 = src_path.AppendASCII("en"); 216 base::FilePath locale_1 = src_path.AppendASCII("en");
217 ASSERT_TRUE(file_util::CreateDirectory(locale_1)); 217 ASSERT_TRUE(base::CreateDirectory(locale_1));
218 218
219 std::string data = 219 std::string data =
220 "{ \"name\": { \"message\": \"something\" }, " 220 "{ \"name\": { \"message\": \"something\" }, "
221 "\"name\": { \"message\": \"something else\" } }"; 221 "\"name\": { \"message\": \"something else\" } }";
222 ASSERT_TRUE( 222 ASSERT_TRUE(
223 file_util::WriteFile(locale_1.Append(kMessagesFilename), 223 file_util::WriteFile(locale_1.Append(kMessagesFilename),
224 data.c_str(), data.length())); 224 data.c_str(), data.length()));
225 225
226 base::FilePath locale_2 = src_path.AppendASCII("sr"); 226 base::FilePath locale_2 = src_path.AppendASCII("sr");
227 ASSERT_TRUE(file_util::CreateDirectory(locale_2)); 227 ASSERT_TRUE(base::CreateDirectory(locale_2));
228 228
229 ASSERT_TRUE( 229 ASSERT_TRUE(
230 file_util::WriteFile(locale_2.Append(kMessagesFilename), 230 file_util::WriteFile(locale_2.Append(kMessagesFilename),
231 data.c_str(), data.length())); 231 data.c_str(), data.length()));
232 232
233 std::set<std::string> valid_locales; 233 std::set<std::string> valid_locales;
234 valid_locales.insert("sr"); 234 valid_locales.insert("sr");
235 valid_locales.insert("en"); 235 valid_locales.insert("en");
236 std::string error; 236 std::string error;
237 // JSON parser hides duplicates. We are going to get only one key/value 237 // JSON parser hides duplicates. We are going to get only one key/value
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 std::vector<std::string> fallback_locales; 659 std::vector<std::string> fallback_locales;
660 extension_l10n_util::GetAllFallbackLocales("en_US", "all", &fallback_locales); 660 extension_l10n_util::GetAllFallbackLocales("en_US", "all", &fallback_locales);
661 ASSERT_EQ(3U, fallback_locales.size()); 661 ASSERT_EQ(3U, fallback_locales.size());
662 662
663 CHECK_EQ("en_US", fallback_locales[0]); 663 CHECK_EQ("en_US", fallback_locales[0]);
664 CHECK_EQ("en", fallback_locales[1]); 664 CHECK_EQ("en", fallback_locales[1]);
665 CHECK_EQ("all", fallback_locales[2]); 665 CHECK_EQ("all", fallback_locales[2]);
666 } 666 }
667 667
668 } // namespace 668 } // namespace
OLDNEW
« no previous file with comments | « chrome/common/extensions/extension_file_util_unittest.cc ('k') | chrome/common/mac/mock_launchd.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698