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

Side by Side Diff: chrome/browser/profile_resetter/automatic_profile_resetter_delegate_unittest.cc

Issue 316963002: Move branding information out of google_util (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit Created 6 years, 6 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/profile_resetter/automatic_profile_resetter_delegate.h" 5 #include "chrome/browser/profile_resetter/automatic_profile_resetter_delegate.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "base/prefs/pref_service.h" 13 #include "base/prefs/pref_service.h"
14 #include "base/run_loop.h" 14 #include "base/run_loop.h"
15 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
16 #include "base/strings/string_split.h" 16 #include "base/strings/string_split.h"
17 #include "base/strings/string_util.h" 17 #include "base/strings/string_util.h"
18 #include "base/strings/utf_string_conversions.h" 18 #include "base/strings/utf_string_conversions.h"
19 #include "base/test/values_test_util.h" 19 #include "base/test/values_test_util.h"
20 #include "base/values.h" 20 #include "base/values.h"
21 #include "chrome/app/chrome_command_ids.h" 21 #include "chrome/app/chrome_command_ids.h"
22 #include "chrome/browser/chrome_notification_types.h" 22 #include "chrome/browser/chrome_notification_types.h"
23 #include "chrome/browser/extensions/extension_service_unittest.h" 23 #include "chrome/browser/extensions/extension_service_unittest.h"
24 #include "chrome/browser/google/google_brand.h"
24 #include "chrome/browser/google/google_util.h" 25 #include "chrome/browser/google/google_util.h"
25 #include "chrome/browser/profile_resetter/brandcoded_default_settings.h" 26 #include "chrome/browser/profile_resetter/brandcoded_default_settings.h"
26 #include "chrome/browser/profile_resetter/profile_reset_global_error.h" 27 #include "chrome/browser/profile_resetter/profile_reset_global_error.h"
27 #include "chrome/browser/search_engines/default_search_manager.h" 28 #include "chrome/browser/search_engines/default_search_manager.h"
28 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" 29 #include "chrome/browser/search_engines/template_url_prepopulate_data.h"
29 #include "chrome/browser/search_engines/template_url_service.h" 30 #include "chrome/browser/search_engines/template_url_service.h"
30 #include "chrome/browser/search_engines/template_url_service_factory.h" 31 #include "chrome/browser/search_engines/template_url_service_factory.h"
31 #include "chrome/browser/search_engines/template_url_service_test_util.h" 32 #include "chrome/browser/search_engines/template_url_service_test_util.h"
32 #include "chrome/browser/ui/global_error/global_error.h" 33 #include "chrome/browser/ui/global_error/global_error.h"
33 #include "chrome/browser/ui/global_error/global_error_service.h" 34 #include "chrome/browser/ui/global_error/global_error_service.h"
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 PrefService* prefs = profile()->GetPrefs(); 435 PrefService* prefs = profile()->GetPrefs();
435 ASSERT_TRUE(prefs); 436 ASSERT_TRUE(prefs);
436 const base::DictionaryValue* expected_dsp_details = 437 const base::DictionaryValue* expected_dsp_details =
437 GetDefaultSearchProviderDetailsFromPrefs(prefs); 438 GetDefaultSearchProviderDetailsFromPrefs(prefs);
438 ExpectDetailsMatch(*expected_dsp_details, *details); 439 ExpectDetailsMatch(*expected_dsp_details, *details);
439 } 440 }
440 } 441 }
441 442
442 TEST_F(AutomaticProfileResetterDelegateTest, 443 TEST_F(AutomaticProfileResetterDelegateTest,
443 FetchAndWaitOnDefaultSettingsVanilla) { 444 FetchAndWaitOnDefaultSettingsVanilla) {
444 google_util::BrandForTesting scoped_brand_for_testing((std::string())); 445 google_brand::BrandForTesting scoped_brand_for_testing((std::string()));
445 446
446 // Expect ready_callback to be called just after empty brandcoded settings 447 // Expect ready_callback to be called just after empty brandcoded settings
447 // are loaded, given this is a vanilla build. Fail if it is not called, or 448 // are loaded, given this is a vanilla build. Fail if it is not called, or
448 // called too early. 449 // called too early.
449 testing::StrictMock<MockCallbackTarget> mock_target; 450 testing::StrictMock<MockCallbackTarget> mock_target;
450 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 451 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
451 mock_target.CreateClosure()); 452 mock_target.CreateClosure());
452 base::RunLoop().RunUntilIdle(); 453 base::RunLoop().RunUntilIdle();
453 EXPECT_FALSE(resetter_delegate()->brandcoded_defaults()); 454 EXPECT_FALSE(resetter_delegate()->brandcoded_defaults());
454 455
(...skipping 11 matching lines...) Expand all
466 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 467 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
467 mock_target.CreateClosure()); 468 mock_target.CreateClosure());
468 base::RunLoop().RunUntilIdle(); 469 base::RunLoop().RunUntilIdle();
469 470
470 // No test for a new instance of AutomaticProfileResetterDelegate. That will 471 // No test for a new instance of AutomaticProfileResetterDelegate. That will
471 // need to fetch the brandcoded settings again. 472 // need to fetch the brandcoded settings again.
472 } 473 }
473 474
474 TEST_F(AutomaticProfileResetterDelegateTest, 475 TEST_F(AutomaticProfileResetterDelegateTest,
475 FetchAndWaitOnDefaultSettingsBranded) { 476 FetchAndWaitOnDefaultSettingsBranded) {
476 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 477 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
477 478
478 // Expect ready_callback to be called just after the brandcoded settings are 479 // Expect ready_callback to be called just after the brandcoded settings are
479 // downloaded. Fail if it is not called, or called too early. 480 // downloaded. Fail if it is not called, or called too early.
480 testing::StrictMock<MockCallbackTarget> mock_target; 481 testing::StrictMock<MockCallbackTarget> mock_target;
481 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 482 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
482 mock_target.CreateClosure()); 483 mock_target.CreateClosure());
483 base::RunLoop().RunUntilIdle(); 484 base::RunLoop().RunUntilIdle();
484 EXPECT_FALSE(resetter_delegate()->brandcoded_defaults()); 485 EXPECT_FALSE(resetter_delegate()->brandcoded_defaults());
485 486
486 EXPECT_CALL(mock_target, Run()); 487 EXPECT_CALL(mock_target, Run());
(...skipping 12 matching lines...) Expand all
499 // Expect ready_callback to be posted immediately when the brandcoded settings 500 // Expect ready_callback to be posted immediately when the brandcoded settings
500 // have already been downloaded. 501 // have already been downloaded.
501 EXPECT_CALL(mock_target, Run()); 502 EXPECT_CALL(mock_target, Run());
502 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 503 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
503 mock_target.CreateClosure()); 504 mock_target.CreateClosure());
504 base::RunLoop().RunUntilIdle(); 505 base::RunLoop().RunUntilIdle();
505 } 506 }
506 507
507 TEST_F(AutomaticProfileResetterDelegateTest, 508 TEST_F(AutomaticProfileResetterDelegateTest,
508 FetchAndWaitOnDefaultSettingsBrandedFailure) { 509 FetchAndWaitOnDefaultSettingsBrandedFailure) {
509 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 510 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
510 511
511 // Expect ready_callback to be called just after the brandcoded settings have 512 // Expect ready_callback to be called just after the brandcoded settings have
512 // failed to download. Fail if it is not called, or called too early. 513 // failed to download. Fail if it is not called, or called too early.
513 testing::StrictMock<MockCallbackTarget> mock_target; 514 testing::StrictMock<MockCallbackTarget> mock_target;
514 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 515 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
515 mock_target.CreateClosure()); 516 mock_target.CreateClosure());
516 base::RunLoop().RunUntilIdle(); 517 base::RunLoop().RunUntilIdle();
517 518
518 EXPECT_CALL(mock_target, Run()); 519 EXPECT_CALL(mock_target, Run());
519 resetter_delegate()->FetchBrandcodedDefaultSettingsIfNeeded(); 520 resetter_delegate()->FetchBrandcodedDefaultSettingsIfNeeded();
520 ExpectAndServicePendingBrandcodedConfigFetch(true /*simulate_failure*/); 521 ExpectAndServicePendingBrandcodedConfigFetch(true /*simulate_failure*/);
521 base::RunLoop().RunUntilIdle(); 522 base::RunLoop().RunUntilIdle();
522 523
523 testing::Mock::VerifyAndClearExpectations(&mock_target); 524 testing::Mock::VerifyAndClearExpectations(&mock_target);
524 EXPECT_TRUE(resetter_delegate()->brandcoded_defaults()); 525 EXPECT_TRUE(resetter_delegate()->brandcoded_defaults());
525 526
526 // Expect ready_callback to be posted immediately when the brandcoded settings 527 // Expect ready_callback to be posted immediately when the brandcoded settings
527 // have already been attempted to be downloaded, but failed. 528 // have already been attempted to be downloaded, but failed.
528 EXPECT_CALL(mock_target, Run()); 529 EXPECT_CALL(mock_target, Run());
529 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 530 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
530 mock_target.CreateClosure()); 531 mock_target.CreateClosure());
531 base::RunLoop().RunUntilIdle(); 532 base::RunLoop().RunUntilIdle();
532 } 533 }
533 534
534 TEST_F(AutomaticProfileResetterDelegateTest, TriggerReset) { 535 TEST_F(AutomaticProfileResetterDelegateTest, TriggerReset) {
535 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 536 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
536 537
537 PrefService* prefs = profile()->GetPrefs(); 538 PrefService* prefs = profile()->GetPrefs();
538 DCHECK(prefs); 539 DCHECK(prefs);
539 prefs->SetString(prefs::kHomePage, kTestHomepage); 540 prefs->SetString(prefs::kHomePage, kTestHomepage);
540 541
541 testing::StrictMock<MockCallbackTarget> mock_target; 542 testing::StrictMock<MockCallbackTarget> mock_target;
542 EXPECT_CALL(mock_target, Run()); 543 EXPECT_CALL(mock_target, Run());
543 EXPECT_CALL(*resetter_delegate(), SendFeedback(testing::_)).Times(0); 544 EXPECT_CALL(*resetter_delegate(), SendFeedback(testing::_)).Times(0);
544 resetter_delegate()->TriggerProfileSettingsReset( 545 resetter_delegate()->TriggerProfileSettingsReset(
545 false /*send_feedback*/, mock_target.CreateClosure()); 546 false /*send_feedback*/, mock_target.CreateClosure());
546 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/); 547 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/);
547 base::RunLoop().RunUntilIdle(); 548 base::RunLoop().RunUntilIdle();
548 549
549 EXPECT_EQ(kTestBrandedHomepage, prefs->GetString(prefs::kHomePage)); 550 EXPECT_EQ(kTestBrandedHomepage, prefs->GetString(prefs::kHomePage));
550 } 551 }
551 552
552 TEST_F(AutomaticProfileResetterDelegateTest, 553 TEST_F(AutomaticProfileResetterDelegateTest,
553 TriggerResetWithDefaultSettingsAlreadyLoaded) { 554 TriggerResetWithDefaultSettingsAlreadyLoaded) {
554 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 555 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
555 556
556 PrefService* prefs = profile()->GetPrefs(); 557 PrefService* prefs = profile()->GetPrefs();
557 DCHECK(prefs); 558 DCHECK(prefs);
558 prefs->SetString(prefs::kHomePage, kTestHomepage); 559 prefs->SetString(prefs::kHomePage, kTestHomepage);
559 560
560 resetter_delegate()->FetchBrandcodedDefaultSettingsIfNeeded(); 561 resetter_delegate()->FetchBrandcodedDefaultSettingsIfNeeded();
561 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/); 562 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/);
562 base::RunLoop().RunUntilIdle(); 563 base::RunLoop().RunUntilIdle();
563 564
564 testing::StrictMock<MockCallbackTarget> mock_target; 565 testing::StrictMock<MockCallbackTarget> mock_target;
565 EXPECT_CALL(mock_target, Run()); 566 EXPECT_CALL(mock_target, Run());
566 EXPECT_CALL(*resetter_delegate(), SendFeedback(testing::_)).Times(0); 567 EXPECT_CALL(*resetter_delegate(), SendFeedback(testing::_)).Times(0);
567 resetter_delegate()->TriggerProfileSettingsReset( 568 resetter_delegate()->TriggerProfileSettingsReset(
568 false /*send_feedback*/, mock_target.CreateClosure()); 569 false /*send_feedback*/, mock_target.CreateClosure());
569 base::RunLoop().RunUntilIdle(); 570 base::RunLoop().RunUntilIdle();
570 571
571 EXPECT_EQ(kTestBrandedHomepage, prefs->GetString(prefs::kHomePage)); 572 EXPECT_EQ(kTestBrandedHomepage, prefs->GetString(prefs::kHomePage));
572 } 573 }
573 574
574 TEST_F(AutomaticProfileResetterDelegateTest, 575 TEST_F(AutomaticProfileResetterDelegateTest,
575 TriggerResetAndSendFeedback) { 576 TriggerResetAndSendFeedback) {
576 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 577 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
577 578
578 PrefService* prefs = profile()->GetPrefs(); 579 PrefService* prefs = profile()->GetPrefs();
579 DCHECK(prefs); 580 DCHECK(prefs);
580 prefs->SetString(prefs::kHomePage, kTestHomepage); 581 prefs->SetString(prefs::kHomePage, kTestHomepage);
581 582
582 testing::StrictMock<MockCallbackTarget> mock_target; 583 testing::StrictMock<MockCallbackTarget> mock_target;
583 EXPECT_CALL(mock_target, Run()); 584 EXPECT_CALL(mock_target, Run());
584 EXPECT_CALL(*resetter_delegate(), 585 EXPECT_CALL(*resetter_delegate(),
585 SendFeedback(testing::HasSubstr(kTestHomepage))); 586 SendFeedback(testing::HasSubstr(kTestHomepage)));
586 587
587 resetter_delegate()->TriggerProfileSettingsReset( 588 resetter_delegate()->TriggerProfileSettingsReset(
588 true /*send_feedback*/, mock_target.CreateClosure()); 589 true /*send_feedback*/, mock_target.CreateClosure());
589 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/); 590 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/);
590 base::RunLoop().RunUntilIdle(); 591 base::RunLoop().RunUntilIdle();
591 } 592 }
592 593
593 TEST_F(AutomaticProfileResetterDelegateTest, ShowAndDismissPrompt) { 594 TEST_F(AutomaticProfileResetterDelegateTest, ShowAndDismissPrompt) {
594 resetter_delegate()->TriggerPrompt(); 595 resetter_delegate()->TriggerPrompt();
595 if (ProfileResetGlobalError::IsSupportedOnPlatform()) 596 if (ProfileResetGlobalError::IsSupportedOnPlatform())
596 ExpectResetPromptState(true /*active*/); 597 ExpectResetPromptState(true /*active*/);
597 else 598 else
598 ExpectResetPromptState(false /*active*/); 599 ExpectResetPromptState(false /*active*/);
599 resetter_delegate()->DismissPrompt(); 600 resetter_delegate()->DismissPrompt();
600 ExpectResetPromptState(false /*active*/); 601 ExpectResetPromptState(false /*active*/);
601 resetter_delegate()->DismissPrompt(); 602 resetter_delegate()->DismissPrompt();
602 } 603 }
603 604
604 } // namespace 605 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698