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

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

Issue 1908953003: Convert //extensions/{common,shell} from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase? Created 4 years, 8 months 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
« no previous file with comments | « extensions/common/extension_l10n_util.cc ('k') | extensions/common/extension_messages.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "extensions/common/extension_l10n_util.h" 5 #include "extensions/common/extension_l10n_util.h"
6 6
7 #include <memory>
8
7 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
8 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
9 #include "base/files/scoped_temp_dir.h" 11 #include "base/files/scoped_temp_dir.h"
10 #include "base/memory/linked_ptr.h" 12 #include "base/memory/linked_ptr.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "base/path_service.h" 13 #include "base/path_service.h"
13 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
14 #include "base/values.h" 15 #include "base/values.h"
15 #include "extensions/common/constants.h" 16 #include "extensions/common/constants.h"
16 #include "extensions/common/error_utils.h" 17 #include "extensions/common/error_utils.h"
17 #include "extensions/common/extension_paths.h" 18 #include "extensions/common/extension_paths.h"
18 #include "extensions/common/manifest_constants.h" 19 #include "extensions/common/manifest_constants.h"
19 #include "extensions/common/message_bundle.h" 20 #include "extensions/common/message_bundle.h"
20 #include "testing/gmock/include/gmock/gmock.h" 21 #include "testing/gmock/include/gmock/gmock.h"
21 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 EXPECT_TRUE(locales.find("en_US") != locales.end()); 122 EXPECT_TRUE(locales.find("en_US") != locales.end());
122 } 123 }
123 124
124 TEST(ExtensionL10nUtil, LoadMessageCatalogsValidFallback) { 125 TEST(ExtensionL10nUtil, LoadMessageCatalogsValidFallback) {
125 base::FilePath install_dir; 126 base::FilePath install_dir;
126 ASSERT_TRUE(PathService::Get(DIR_TEST_DATA, &install_dir)); 127 ASSERT_TRUE(PathService::Get(DIR_TEST_DATA, &install_dir));
127 install_dir = 128 install_dir =
128 install_dir.AppendASCII("extension_with_locales").Append(kLocaleFolder); 129 install_dir.AppendASCII("extension_with_locales").Append(kLocaleFolder);
129 130
130 std::string error; 131 std::string error;
131 scoped_ptr<MessageBundle> bundle(extension_l10n_util::LoadMessageCatalogs( 132 std::unique_ptr<MessageBundle> bundle(
132 install_dir, "sr", "en_US", &error)); 133 extension_l10n_util::LoadMessageCatalogs(install_dir, "sr", "en_US",
134 &error));
133 ASSERT_FALSE(NULL == bundle.get()); 135 ASSERT_FALSE(NULL == bundle.get());
134 EXPECT_TRUE(error.empty()); 136 EXPECT_TRUE(error.empty());
135 EXPECT_EQ("Color", bundle->GetL10nMessage("color")); 137 EXPECT_EQ("Color", bundle->GetL10nMessage("color"));
136 EXPECT_EQ("Not in the US or GB.", bundle->GetL10nMessage("not_in_US_or_GB")); 138 EXPECT_EQ("Not in the US or GB.", bundle->GetL10nMessage("not_in_US_or_GB"));
137 } 139 }
138 140
139 TEST(ExtensionL10nUtil, LoadMessageCatalogsMissingFiles) { 141 TEST(ExtensionL10nUtil, LoadMessageCatalogsMissingFiles) {
140 base::ScopedTempDir temp; 142 base::ScopedTempDir temp;
141 ASSERT_TRUE(temp.CreateUniqueTempDir()); 143 ASSERT_TRUE(temp.CreateUniqueTempDir());
142 144
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 195
194 base::FilePath locale_2 = src_path.AppendASCII("sr"); 196 base::FilePath locale_2 = src_path.AppendASCII("sr");
195 ASSERT_TRUE(base::CreateDirectory(locale_2)); 197 ASSERT_TRUE(base::CreateDirectory(locale_2));
196 198
197 ASSERT_TRUE(base::WriteFile( 199 ASSERT_TRUE(base::WriteFile(
198 locale_2.Append(kMessagesFilename), data.c_str(), data.length())); 200 locale_2.Append(kMessagesFilename), data.c_str(), data.length()));
199 201
200 std::string error; 202 std::string error;
201 // JSON parser hides duplicates. We are going to get only one key/value 203 // JSON parser hides duplicates. We are going to get only one key/value
202 // pair at the end. 204 // pair at the end.
203 scoped_ptr<MessageBundle> message_bundle( 205 std::unique_ptr<MessageBundle> message_bundle(
204 extension_l10n_util::LoadMessageCatalogs(src_path, "en", "sr", &error)); 206 extension_l10n_util::LoadMessageCatalogs(src_path, "en", "sr", &error));
205 EXPECT_TRUE(NULL != message_bundle.get()); 207 EXPECT_TRUE(NULL != message_bundle.get());
206 EXPECT_TRUE(error.empty()); 208 EXPECT_TRUE(error.empty());
207 } 209 }
208 210
209 // Caller owns the returned object. 211 // Caller owns the returned object.
210 MessageBundle* CreateManifestBundle() { 212 MessageBundle* CreateManifestBundle() {
211 linked_ptr<base::DictionaryValue> catalog(new base::DictionaryValue); 213 linked_ptr<base::DictionaryValue> catalog(new base::DictionaryValue);
212 214
213 base::DictionaryValue* name_tree = new base::DictionaryValue(); 215 base::DictionaryValue* name_tree = new base::DictionaryValue();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 MessageBundle* bundle = MessageBundle::Create(catalogs, &error); 265 MessageBundle* bundle = MessageBundle::Create(catalogs, &error);
264 EXPECT_TRUE(bundle); 266 EXPECT_TRUE(bundle);
265 EXPECT_TRUE(error.empty()); 267 EXPECT_TRUE(error.empty());
266 268
267 return bundle; 269 return bundle;
268 } 270 }
269 271
270 TEST(ExtensionL10nUtil, LocalizeEmptyManifest) { 272 TEST(ExtensionL10nUtil, LocalizeEmptyManifest) {
271 base::DictionaryValue manifest; 273 base::DictionaryValue manifest;
272 std::string error; 274 std::string error;
273 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 275 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
274 276
275 EXPECT_FALSE( 277 EXPECT_FALSE(
276 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 278 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
277 EXPECT_EQ(std::string(errors::kInvalidName), error); 279 EXPECT_EQ(std::string(errors::kInvalidName), error);
278 } 280 }
279 281
280 TEST(ExtensionL10nUtil, LocalizeManifestWithoutNameMsgAndEmptyDescription) { 282 TEST(ExtensionL10nUtil, LocalizeManifestWithoutNameMsgAndEmptyDescription) {
281 base::DictionaryValue manifest; 283 base::DictionaryValue manifest;
282 manifest.SetString(keys::kName, "no __MSG"); 284 manifest.SetString(keys::kName, "no __MSG");
283 std::string error; 285 std::string error;
284 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 286 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
285 287
286 EXPECT_TRUE( 288 EXPECT_TRUE(
287 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 289 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
288 290
289 std::string result; 291 std::string result;
290 ASSERT_TRUE(manifest.GetString(keys::kName, &result)); 292 ASSERT_TRUE(manifest.GetString(keys::kName, &result));
291 EXPECT_EQ("no __MSG", result); 293 EXPECT_EQ("no __MSG", result);
292 294
293 EXPECT_FALSE(manifest.HasKey(keys::kDescription)); 295 EXPECT_FALSE(manifest.HasKey(keys::kDescription));
294 296
295 EXPECT_TRUE(error.empty()); 297 EXPECT_TRUE(error.empty());
296 } 298 }
297 299
298 TEST(ExtensionL10nUtil, LocalizeManifestWithNameMsgAndEmptyDescription) { 300 TEST(ExtensionL10nUtil, LocalizeManifestWithNameMsgAndEmptyDescription) {
299 base::DictionaryValue manifest; 301 base::DictionaryValue manifest;
300 manifest.SetString(keys::kName, "__MSG_name__"); 302 manifest.SetString(keys::kName, "__MSG_name__");
301 std::string error; 303 std::string error;
302 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 304 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
303 305
304 EXPECT_TRUE( 306 EXPECT_TRUE(
305 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 307 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
306 308
307 std::string result; 309 std::string result;
308 ASSERT_TRUE(manifest.GetString(keys::kName, &result)); 310 ASSERT_TRUE(manifest.GetString(keys::kName, &result));
309 EXPECT_EQ("name", result); 311 EXPECT_EQ("name", result);
310 312
311 EXPECT_FALSE(manifest.HasKey(keys::kDescription)); 313 EXPECT_FALSE(manifest.HasKey(keys::kDescription));
312 314
313 EXPECT_TRUE(error.empty()); 315 EXPECT_TRUE(error.empty());
314 } 316 }
315 317
316 TEST(ExtensionL10nUtil, LocalizeManifestWithLocalLaunchURL) { 318 TEST(ExtensionL10nUtil, LocalizeManifestWithLocalLaunchURL) {
317 base::DictionaryValue manifest; 319 base::DictionaryValue manifest;
318 manifest.SetString(keys::kName, "name"); 320 manifest.SetString(keys::kName, "name");
319 manifest.SetString(keys::kLaunchLocalPath, "__MSG_launch_local_path__"); 321 manifest.SetString(keys::kLaunchLocalPath, "__MSG_launch_local_path__");
320 std::string error; 322 std::string error;
321 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 323 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
322 324
323 EXPECT_TRUE( 325 EXPECT_TRUE(
324 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 326 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
325 327
326 std::string result; 328 std::string result;
327 ASSERT_TRUE(manifest.GetString(keys::kLaunchLocalPath, &result)); 329 ASSERT_TRUE(manifest.GetString(keys::kLaunchLocalPath, &result));
328 EXPECT_EQ("main.html", result); 330 EXPECT_EQ("main.html", result);
329 331
330 EXPECT_TRUE(error.empty()); 332 EXPECT_TRUE(error.empty());
331 } 333 }
332 334
333 TEST(ExtensionL10nUtil, LocalizeManifestWithHostedLaunchURL) { 335 TEST(ExtensionL10nUtil, LocalizeManifestWithHostedLaunchURL) {
334 base::DictionaryValue manifest; 336 base::DictionaryValue manifest;
335 manifest.SetString(keys::kName, "name"); 337 manifest.SetString(keys::kName, "name");
336 manifest.SetString(keys::kLaunchWebURL, "__MSG_launch_web_url__"); 338 manifest.SetString(keys::kLaunchWebURL, "__MSG_launch_web_url__");
337 std::string error; 339 std::string error;
338 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 340 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
339 341
340 EXPECT_TRUE( 342 EXPECT_TRUE(
341 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 343 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
342 344
343 std::string result; 345 std::string result;
344 ASSERT_TRUE(manifest.GetString(keys::kLaunchWebURL, &result)); 346 ASSERT_TRUE(manifest.GetString(keys::kLaunchWebURL, &result));
345 EXPECT_EQ("http://www.google.com/", result); 347 EXPECT_EQ("http://www.google.com/", result);
346 348
347 EXPECT_TRUE(error.empty()); 349 EXPECT_TRUE(error.empty());
348 } 350 }
349 351
350 TEST(ExtensionL10nUtil, LocalizeManifestWithBadNameMsg) { 352 TEST(ExtensionL10nUtil, LocalizeManifestWithBadNameMsg) {
351 base::DictionaryValue manifest; 353 base::DictionaryValue manifest;
352 manifest.SetString(keys::kName, "__MSG_name_is_bad__"); 354 manifest.SetString(keys::kName, "__MSG_name_is_bad__");
353 manifest.SetString(keys::kDescription, "__MSG_description__"); 355 manifest.SetString(keys::kDescription, "__MSG_description__");
354 std::string error; 356 std::string error;
355 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 357 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
356 358
357 EXPECT_FALSE( 359 EXPECT_FALSE(
358 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 360 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
359 361
360 std::string result; 362 std::string result;
361 ASSERT_TRUE(manifest.GetString(keys::kName, &result)); 363 ASSERT_TRUE(manifest.GetString(keys::kName, &result));
362 EXPECT_EQ("__MSG_name_is_bad__", result); 364 EXPECT_EQ("__MSG_name_is_bad__", result);
363 365
364 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result)); 366 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result));
365 EXPECT_EQ("__MSG_description__", result); 367 EXPECT_EQ("__MSG_description__", result);
366 368
367 EXPECT_EQ("Variable __MSG_name_is_bad__ used but not defined.", error); 369 EXPECT_EQ("Variable __MSG_name_is_bad__ used but not defined.", error);
368 } 370 }
369 371
370 TEST(ExtensionL10nUtil, LocalizeManifestWithNameDescriptionDefaultTitleMsgs) { 372 TEST(ExtensionL10nUtil, LocalizeManifestWithNameDescriptionDefaultTitleMsgs) {
371 base::DictionaryValue manifest; 373 base::DictionaryValue manifest;
372 manifest.SetString(keys::kName, "__MSG_name__"); 374 manifest.SetString(keys::kName, "__MSG_name__");
373 manifest.SetString(keys::kDescription, "__MSG_description__"); 375 manifest.SetString(keys::kDescription, "__MSG_description__");
374 std::string action_title(keys::kBrowserAction); 376 std::string action_title(keys::kBrowserAction);
375 action_title.append("."); 377 action_title.append(".");
376 action_title.append(keys::kPageActionDefaultTitle); 378 action_title.append(keys::kPageActionDefaultTitle);
377 manifest.SetString(action_title, "__MSG_title__"); 379 manifest.SetString(action_title, "__MSG_title__");
378 380
379 std::string error; 381 std::string error;
380 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 382 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
381 383
382 EXPECT_TRUE( 384 EXPECT_TRUE(
383 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 385 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
384 386
385 std::string result; 387 std::string result;
386 ASSERT_TRUE(manifest.GetString(keys::kName, &result)); 388 ASSERT_TRUE(manifest.GetString(keys::kName, &result));
387 EXPECT_EQ("name", result); 389 EXPECT_EQ("name", result);
388 390
389 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result)); 391 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result));
390 EXPECT_EQ("description", result); 392 EXPECT_EQ("description", result);
391 393
392 ASSERT_TRUE(manifest.GetString(action_title, &result)); 394 ASSERT_TRUE(manifest.GetString(action_title, &result));
393 EXPECT_EQ("action title", result); 395 EXPECT_EQ("action title", result);
394 396
395 EXPECT_TRUE(error.empty()); 397 EXPECT_TRUE(error.empty());
396 } 398 }
397 399
398 TEST(ExtensionL10nUtil, LocalizeManifestWithNameDescriptionOmniboxMsgs) { 400 TEST(ExtensionL10nUtil, LocalizeManifestWithNameDescriptionOmniboxMsgs) {
399 base::DictionaryValue manifest; 401 base::DictionaryValue manifest;
400 manifest.SetString(keys::kName, "__MSG_name__"); 402 manifest.SetString(keys::kName, "__MSG_name__");
401 manifest.SetString(keys::kDescription, "__MSG_description__"); 403 manifest.SetString(keys::kDescription, "__MSG_description__");
402 manifest.SetString(keys::kOmniboxKeyword, "__MSG_omnibox_keyword__"); 404 manifest.SetString(keys::kOmniboxKeyword, "__MSG_omnibox_keyword__");
403 405
404 std::string error; 406 std::string error;
405 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 407 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
406 408
407 EXPECT_TRUE( 409 EXPECT_TRUE(
408 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 410 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
409 411
410 std::string result; 412 std::string result;
411 ASSERT_TRUE(manifest.GetString(keys::kName, &result)); 413 ASSERT_TRUE(manifest.GetString(keys::kName, &result));
412 EXPECT_EQ("name", result); 414 EXPECT_EQ("name", result);
413 415
414 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result)); 416 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result));
415 EXPECT_EQ("description", result); 417 EXPECT_EQ("description", result);
416 418
417 ASSERT_TRUE(manifest.GetString(keys::kOmniboxKeyword, &result)); 419 ASSERT_TRUE(manifest.GetString(keys::kOmniboxKeyword, &result));
418 EXPECT_EQ("omnibox keyword", result); 420 EXPECT_EQ("omnibox keyword", result);
419 421
420 EXPECT_TRUE(error.empty()); 422 EXPECT_TRUE(error.empty());
421 } 423 }
422 424
423 TEST(ExtensionL10nUtil, LocalizeManifestWithNameDescriptionFileHandlerTitle) { 425 TEST(ExtensionL10nUtil, LocalizeManifestWithNameDescriptionFileHandlerTitle) {
424 base::DictionaryValue manifest; 426 base::DictionaryValue manifest;
425 manifest.SetString(keys::kName, "__MSG_name__"); 427 manifest.SetString(keys::kName, "__MSG_name__");
426 manifest.SetString(keys::kDescription, "__MSG_description__"); 428 manifest.SetString(keys::kDescription, "__MSG_description__");
427 base::ListValue* handlers = new base::ListValue(); 429 base::ListValue* handlers = new base::ListValue();
428 manifest.Set(keys::kFileBrowserHandlers, handlers); 430 manifest.Set(keys::kFileBrowserHandlers, handlers);
429 base::DictionaryValue* handler = new base::DictionaryValue(); 431 base::DictionaryValue* handler = new base::DictionaryValue();
430 handlers->Append(handler); 432 handlers->Append(handler);
431 handler->SetString(keys::kPageActionDefaultTitle, 433 handler->SetString(keys::kPageActionDefaultTitle,
432 "__MSG_file_handler_title__"); 434 "__MSG_file_handler_title__");
433 435
434 std::string error; 436 std::string error;
435 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 437 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
436 438
437 EXPECT_TRUE( 439 EXPECT_TRUE(
438 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 440 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
439 441
440 std::string result; 442 std::string result;
441 ASSERT_TRUE(manifest.GetString(keys::kName, &result)); 443 ASSERT_TRUE(manifest.GetString(keys::kName, &result));
442 EXPECT_EQ("name", result); 444 EXPECT_EQ("name", result);
443 445
444 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result)); 446 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result));
445 EXPECT_EQ("description", result); 447 EXPECT_EQ("description", result);
(...skipping 16 matching lines...) Expand all
462 commands->Set("first_command", first_command); 464 commands->Set("first_command", first_command);
463 first_command->SetString(keys::kDescription, 465 first_command->SetString(keys::kDescription,
464 "__MSG_first_command_description__"); 466 "__MSG_first_command_description__");
465 467
466 base::DictionaryValue* second_command = new base::DictionaryValue(); 468 base::DictionaryValue* second_command = new base::DictionaryValue();
467 commands->Set("second_command", second_command); 469 commands->Set("second_command", second_command);
468 second_command->SetString(keys::kDescription, 470 second_command->SetString(keys::kDescription,
469 "__MSG_second_command_description__"); 471 "__MSG_second_command_description__");
470 472
471 std::string error; 473 std::string error;
472 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 474 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
473 475
474 EXPECT_TRUE( 476 EXPECT_TRUE(
475 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 477 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
476 478
477 std::string result; 479 std::string result;
478 ASSERT_TRUE(manifest.GetString(keys::kName, &result)); 480 ASSERT_TRUE(manifest.GetString(keys::kName, &result));
479 EXPECT_EQ("name", result); 481 EXPECT_EQ("name", result);
480 482
481 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result)); 483 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result));
482 EXPECT_EQ("description", result); 484 EXPECT_EQ("description", result);
483 485
484 ASSERT_TRUE( 486 ASSERT_TRUE(
485 manifest.GetString("commands.first_command.description", &result)); 487 manifest.GetString("commands.first_command.description", &result));
486 EXPECT_EQ("first command", result); 488 EXPECT_EQ("first command", result);
487 489
488 ASSERT_TRUE( 490 ASSERT_TRUE(
489 manifest.GetString("commands.second_command.description", &result)); 491 manifest.GetString("commands.second_command.description", &result));
490 EXPECT_EQ("second command", result); 492 EXPECT_EQ("second command", result);
491 493
492 EXPECT_TRUE(error.empty()); 494 EXPECT_TRUE(error.empty());
493 } 495 }
494 496
495 TEST(ExtensionL10nUtil, LocalizeManifestWithShortName) { 497 TEST(ExtensionL10nUtil, LocalizeManifestWithShortName) {
496 base::DictionaryValue manifest; 498 base::DictionaryValue manifest;
497 manifest.SetString(keys::kName, "extension name"); 499 manifest.SetString(keys::kName, "extension name");
498 manifest.SetString(keys::kShortName, "__MSG_short_name__"); 500 manifest.SetString(keys::kShortName, "__MSG_short_name__");
499 501
500 std::string error; 502 std::string error;
501 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 503 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
502 504
503 EXPECT_TRUE( 505 EXPECT_TRUE(
504 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 506 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
505 EXPECT_TRUE(error.empty()); 507 EXPECT_TRUE(error.empty());
506 508
507 std::string result; 509 std::string result;
508 ASSERT_TRUE(manifest.GetString(keys::kShortName, &result)); 510 ASSERT_TRUE(manifest.GetString(keys::kShortName, &result));
509 EXPECT_EQ("short_name", result); 511 EXPECT_EQ("short_name", result);
510 } 512 }
511 513
512 TEST(ExtensionL10nUtil, LocalizeManifestWithBadShortName) { 514 TEST(ExtensionL10nUtil, LocalizeManifestWithBadShortName) {
513 base::DictionaryValue manifest; 515 base::DictionaryValue manifest;
514 manifest.SetString(keys::kName, "extension name"); 516 manifest.SetString(keys::kName, "extension name");
515 manifest.SetString(keys::kShortName, "__MSG_short_name_bad__"); 517 manifest.SetString(keys::kShortName, "__MSG_short_name_bad__");
516 518
517 std::string error; 519 std::string error;
518 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 520 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
519 521
520 EXPECT_FALSE( 522 EXPECT_FALSE(
521 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 523 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
522 EXPECT_FALSE(error.empty()); 524 EXPECT_FALSE(error.empty());
523 525
524 std::string result; 526 std::string result;
525 ASSERT_TRUE(manifest.GetString(keys::kShortName, &result)); 527 ASSERT_TRUE(manifest.GetString(keys::kShortName, &result));
526 EXPECT_EQ("__MSG_short_name_bad__", result); 528 EXPECT_EQ("__MSG_short_name_bad__", result);
527 } 529 }
528 530
(...skipping 10 matching lines...) Expand all
539 search_provider->SetString("suggest_url", "http://www.foo.__MSG_country__"); 541 search_provider->SetString("suggest_url", "http://www.foo.__MSG_country__");
540 manifest.Set(keys::kOverrideSearchProvider, search_provider); 542 manifest.Set(keys::kOverrideSearchProvider, search_provider);
541 543
542 manifest.SetString(keys::kOverrideHomepage, "http://www.foo.__MSG_country__"); 544 manifest.SetString(keys::kOverrideHomepage, "http://www.foo.__MSG_country__");
543 545
544 base::ListValue* startup_pages = new base::ListValue; 546 base::ListValue* startup_pages = new base::ListValue;
545 startup_pages->AppendString("http://www.foo.__MSG_country__"); 547 startup_pages->AppendString("http://www.foo.__MSG_country__");
546 manifest.Set(keys::kOverrideStartupPage, startup_pages); 548 manifest.Set(keys::kOverrideStartupPage, startup_pages);
547 549
548 std::string error; 550 std::string error;
549 scoped_ptr<MessageBundle> messages(CreateManifestBundle()); 551 std::unique_ptr<MessageBundle> messages(CreateManifestBundle());
550 552
551 EXPECT_TRUE( 553 EXPECT_TRUE(
552 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error)); 554 extension_l10n_util::LocalizeManifest(*messages, &manifest, &error));
553 555
554 std::string result; 556 std::string result;
555 ASSERT_TRUE(manifest.GetString(keys::kName, &result)); 557 ASSERT_TRUE(manifest.GetString(keys::kName, &result));
556 EXPECT_EQ("name", result); 558 EXPECT_EQ("name", result);
557 559
558 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result)); 560 ASSERT_TRUE(manifest.GetString(keys::kDescription, &result));
559 EXPECT_EQ("description", result); 561 EXPECT_EQ("description", result);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 extension_l10n_util::GetAllFallbackLocales("en_US", "all", &fallback_locales); 635 extension_l10n_util::GetAllFallbackLocales("en_US", "all", &fallback_locales);
634 ASSERT_EQ(3U, fallback_locales.size()); 636 ASSERT_EQ(3U, fallback_locales.size());
635 637
636 CHECK_EQ("en_US", fallback_locales[0]); 638 CHECK_EQ("en_US", fallback_locales[0]);
637 CHECK_EQ("en", fallback_locales[1]); 639 CHECK_EQ("en", fallback_locales[1]);
638 CHECK_EQ("all", fallback_locales[2]); 640 CHECK_EQ("all", fallback_locales[2]);
639 } 641 }
640 642
641 } // namespace 643 } // namespace
642 } // namespace extensions 644 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/common/extension_l10n_util.cc ('k') | extensions/common/extension_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698