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

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: Fix for Windows 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_util.h" 24 #include "chrome/browser/google/google_brand.h"
25 #include "chrome/browser/profile_resetter/brandcoded_default_settings.h" 25 #include "chrome/browser/profile_resetter/brandcoded_default_settings.h"
26 #include "chrome/browser/profile_resetter/profile_reset_global_error.h" 26 #include "chrome/browser/profile_resetter/profile_reset_global_error.h"
27 #include "chrome/browser/search_engines/default_search_manager.h" 27 #include "chrome/browser/search_engines/default_search_manager.h"
28 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" 28 #include "chrome/browser/search_engines/template_url_prepopulate_data.h"
29 #include "chrome/browser/search_engines/template_url_service.h" 29 #include "chrome/browser/search_engines/template_url_service.h"
30 #include "chrome/browser/search_engines/template_url_service_factory.h" 30 #include "chrome/browser/search_engines/template_url_service_factory.h"
31 #include "chrome/browser/search_engines/template_url_service_test_util.h" 31 #include "chrome/browser/search_engines/template_url_service_test_util.h"
32 #include "chrome/browser/ui/global_error/global_error.h" 32 #include "chrome/browser/ui/global_error/global_error.h"
33 #include "chrome/browser/ui/global_error/global_error_service.h" 33 #include "chrome/browser/ui/global_error/global_error_service.h"
34 #include "chrome/browser/ui/global_error/global_error_service_factory.h" 34 #include "chrome/browser/ui/global_error/global_error_service_factory.h"
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 PrefService* prefs = profile()->GetPrefs(); 434 PrefService* prefs = profile()->GetPrefs();
435 ASSERT_TRUE(prefs); 435 ASSERT_TRUE(prefs);
436 const base::DictionaryValue* expected_dsp_details = 436 const base::DictionaryValue* expected_dsp_details =
437 GetDefaultSearchProviderDetailsFromPrefs(prefs); 437 GetDefaultSearchProviderDetailsFromPrefs(prefs);
438 ExpectDetailsMatch(*expected_dsp_details, *details); 438 ExpectDetailsMatch(*expected_dsp_details, *details);
439 } 439 }
440 } 440 }
441 441
442 TEST_F(AutomaticProfileResetterDelegateTest, 442 TEST_F(AutomaticProfileResetterDelegateTest,
443 FetchAndWaitOnDefaultSettingsVanilla) { 443 FetchAndWaitOnDefaultSettingsVanilla) {
444 google_util::BrandForTesting scoped_brand_for_testing((std::string())); 444 google_brand::BrandForTesting scoped_brand_for_testing((std::string()));
445 445
446 // Expect ready_callback to be called just after empty brandcoded settings 446 // 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 447 // are loaded, given this is a vanilla build. Fail if it is not called, or
448 // called too early. 448 // called too early.
449 testing::StrictMock<MockCallbackTarget> mock_target; 449 testing::StrictMock<MockCallbackTarget> mock_target;
450 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 450 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
451 mock_target.CreateClosure()); 451 mock_target.CreateClosure());
452 base::RunLoop().RunUntilIdle(); 452 base::RunLoop().RunUntilIdle();
453 EXPECT_FALSE(resetter_delegate()->brandcoded_defaults()); 453 EXPECT_FALSE(resetter_delegate()->brandcoded_defaults());
454 454
(...skipping 11 matching lines...) Expand all
466 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 466 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
467 mock_target.CreateClosure()); 467 mock_target.CreateClosure());
468 base::RunLoop().RunUntilIdle(); 468 base::RunLoop().RunUntilIdle();
469 469
470 // No test for a new instance of AutomaticProfileResetterDelegate. That will 470 // No test for a new instance of AutomaticProfileResetterDelegate. That will
471 // need to fetch the brandcoded settings again. 471 // need to fetch the brandcoded settings again.
472 } 472 }
473 473
474 TEST_F(AutomaticProfileResetterDelegateTest, 474 TEST_F(AutomaticProfileResetterDelegateTest,
475 FetchAndWaitOnDefaultSettingsBranded) { 475 FetchAndWaitOnDefaultSettingsBranded) {
476 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 476 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
477 477
478 // Expect ready_callback to be called just after the brandcoded settings are 478 // Expect ready_callback to be called just after the brandcoded settings are
479 // downloaded. Fail if it is not called, or called too early. 479 // downloaded. Fail if it is not called, or called too early.
480 testing::StrictMock<MockCallbackTarget> mock_target; 480 testing::StrictMock<MockCallbackTarget> mock_target;
481 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 481 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
482 mock_target.CreateClosure()); 482 mock_target.CreateClosure());
483 base::RunLoop().RunUntilIdle(); 483 base::RunLoop().RunUntilIdle();
484 EXPECT_FALSE(resetter_delegate()->brandcoded_defaults()); 484 EXPECT_FALSE(resetter_delegate()->brandcoded_defaults());
485 485
486 EXPECT_CALL(mock_target, Run()); 486 EXPECT_CALL(mock_target, Run());
(...skipping 12 matching lines...) Expand all
499 // Expect ready_callback to be posted immediately when the brandcoded settings 499 // Expect ready_callback to be posted immediately when the brandcoded settings
500 // have already been downloaded. 500 // have already been downloaded.
501 EXPECT_CALL(mock_target, Run()); 501 EXPECT_CALL(mock_target, Run());
502 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 502 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
503 mock_target.CreateClosure()); 503 mock_target.CreateClosure());
504 base::RunLoop().RunUntilIdle(); 504 base::RunLoop().RunUntilIdle();
505 } 505 }
506 506
507 TEST_F(AutomaticProfileResetterDelegateTest, 507 TEST_F(AutomaticProfileResetterDelegateTest,
508 FetchAndWaitOnDefaultSettingsBrandedFailure) { 508 FetchAndWaitOnDefaultSettingsBrandedFailure) {
509 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 509 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
510 510
511 // Expect ready_callback to be called just after the brandcoded settings have 511 // 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. 512 // failed to download. Fail if it is not called, or called too early.
513 testing::StrictMock<MockCallbackTarget> mock_target; 513 testing::StrictMock<MockCallbackTarget> mock_target;
514 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 514 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
515 mock_target.CreateClosure()); 515 mock_target.CreateClosure());
516 base::RunLoop().RunUntilIdle(); 516 base::RunLoop().RunUntilIdle();
517 517
518 EXPECT_CALL(mock_target, Run()); 518 EXPECT_CALL(mock_target, Run());
519 resetter_delegate()->FetchBrandcodedDefaultSettingsIfNeeded(); 519 resetter_delegate()->FetchBrandcodedDefaultSettingsIfNeeded();
520 ExpectAndServicePendingBrandcodedConfigFetch(true /*simulate_failure*/); 520 ExpectAndServicePendingBrandcodedConfigFetch(true /*simulate_failure*/);
521 base::RunLoop().RunUntilIdle(); 521 base::RunLoop().RunUntilIdle();
522 522
523 testing::Mock::VerifyAndClearExpectations(&mock_target); 523 testing::Mock::VerifyAndClearExpectations(&mock_target);
524 EXPECT_TRUE(resetter_delegate()->brandcoded_defaults()); 524 EXPECT_TRUE(resetter_delegate()->brandcoded_defaults());
525 525
526 // Expect ready_callback to be posted immediately when the brandcoded settings 526 // Expect ready_callback to be posted immediately when the brandcoded settings
527 // have already been attempted to be downloaded, but failed. 527 // have already been attempted to be downloaded, but failed.
528 EXPECT_CALL(mock_target, Run()); 528 EXPECT_CALL(mock_target, Run());
529 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched( 529 resetter_delegate()->RequestCallbackWhenBrandcodedDefaultsAreFetched(
530 mock_target.CreateClosure()); 530 mock_target.CreateClosure());
531 base::RunLoop().RunUntilIdle(); 531 base::RunLoop().RunUntilIdle();
532 } 532 }
533 533
534 TEST_F(AutomaticProfileResetterDelegateTest, TriggerReset) { 534 TEST_F(AutomaticProfileResetterDelegateTest, TriggerReset) {
535 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 535 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
536 536
537 PrefService* prefs = profile()->GetPrefs(); 537 PrefService* prefs = profile()->GetPrefs();
538 DCHECK(prefs); 538 DCHECK(prefs);
539 prefs->SetString(prefs::kHomePage, kTestHomepage); 539 prefs->SetString(prefs::kHomePage, kTestHomepage);
540 540
541 testing::StrictMock<MockCallbackTarget> mock_target; 541 testing::StrictMock<MockCallbackTarget> mock_target;
542 EXPECT_CALL(mock_target, Run()); 542 EXPECT_CALL(mock_target, Run());
543 EXPECT_CALL(*resetter_delegate(), SendFeedback(testing::_)).Times(0); 543 EXPECT_CALL(*resetter_delegate(), SendFeedback(testing::_)).Times(0);
544 resetter_delegate()->TriggerProfileSettingsReset( 544 resetter_delegate()->TriggerProfileSettingsReset(
545 false /*send_feedback*/, mock_target.CreateClosure()); 545 false /*send_feedback*/, mock_target.CreateClosure());
546 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/); 546 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/);
547 base::RunLoop().RunUntilIdle(); 547 base::RunLoop().RunUntilIdle();
548 548
549 EXPECT_EQ(kTestBrandedHomepage, prefs->GetString(prefs::kHomePage)); 549 EXPECT_EQ(kTestBrandedHomepage, prefs->GetString(prefs::kHomePage));
550 } 550 }
551 551
552 TEST_F(AutomaticProfileResetterDelegateTest, 552 TEST_F(AutomaticProfileResetterDelegateTest,
553 TriggerResetWithDefaultSettingsAlreadyLoaded) { 553 TriggerResetWithDefaultSettingsAlreadyLoaded) {
554 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 554 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
555 555
556 PrefService* prefs = profile()->GetPrefs(); 556 PrefService* prefs = profile()->GetPrefs();
557 DCHECK(prefs); 557 DCHECK(prefs);
558 prefs->SetString(prefs::kHomePage, kTestHomepage); 558 prefs->SetString(prefs::kHomePage, kTestHomepage);
559 559
560 resetter_delegate()->FetchBrandcodedDefaultSettingsIfNeeded(); 560 resetter_delegate()->FetchBrandcodedDefaultSettingsIfNeeded();
561 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/); 561 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/);
562 base::RunLoop().RunUntilIdle(); 562 base::RunLoop().RunUntilIdle();
563 563
564 testing::StrictMock<MockCallbackTarget> mock_target; 564 testing::StrictMock<MockCallbackTarget> mock_target;
565 EXPECT_CALL(mock_target, Run()); 565 EXPECT_CALL(mock_target, Run());
566 EXPECT_CALL(*resetter_delegate(), SendFeedback(testing::_)).Times(0); 566 EXPECT_CALL(*resetter_delegate(), SendFeedback(testing::_)).Times(0);
567 resetter_delegate()->TriggerProfileSettingsReset( 567 resetter_delegate()->TriggerProfileSettingsReset(
568 false /*send_feedback*/, mock_target.CreateClosure()); 568 false /*send_feedback*/, mock_target.CreateClosure());
569 base::RunLoop().RunUntilIdle(); 569 base::RunLoop().RunUntilIdle();
570 570
571 EXPECT_EQ(kTestBrandedHomepage, prefs->GetString(prefs::kHomePage)); 571 EXPECT_EQ(kTestBrandedHomepage, prefs->GetString(prefs::kHomePage));
572 } 572 }
573 573
574 TEST_F(AutomaticProfileResetterDelegateTest, 574 TEST_F(AutomaticProfileResetterDelegateTest,
575 TriggerResetAndSendFeedback) { 575 TriggerResetAndSendFeedback) {
576 google_util::BrandForTesting scoped_brand_for_testing(kTestBrandcode); 576 google_brand::BrandForTesting scoped_brand_for_testing(kTestBrandcode);
577 577
578 PrefService* prefs = profile()->GetPrefs(); 578 PrefService* prefs = profile()->GetPrefs();
579 DCHECK(prefs); 579 DCHECK(prefs);
580 prefs->SetString(prefs::kHomePage, kTestHomepage); 580 prefs->SetString(prefs::kHomePage, kTestHomepage);
581 581
582 testing::StrictMock<MockCallbackTarget> mock_target; 582 testing::StrictMock<MockCallbackTarget> mock_target;
583 EXPECT_CALL(mock_target, Run()); 583 EXPECT_CALL(mock_target, Run());
584 EXPECT_CALL(*resetter_delegate(), 584 EXPECT_CALL(*resetter_delegate(),
585 SendFeedback(testing::HasSubstr(kTestHomepage))); 585 SendFeedback(testing::HasSubstr(kTestHomepage)));
586 586
587 resetter_delegate()->TriggerProfileSettingsReset( 587 resetter_delegate()->TriggerProfileSettingsReset(
588 true /*send_feedback*/, mock_target.CreateClosure()); 588 true /*send_feedback*/, mock_target.CreateClosure());
589 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/); 589 ExpectAndServicePendingBrandcodedConfigFetch(false /*simulate_failure*/);
590 base::RunLoop().RunUntilIdle(); 590 base::RunLoop().RunUntilIdle();
591 } 591 }
592 592
593 TEST_F(AutomaticProfileResetterDelegateTest, ShowAndDismissPrompt) { 593 TEST_F(AutomaticProfileResetterDelegateTest, ShowAndDismissPrompt) {
594 resetter_delegate()->TriggerPrompt(); 594 resetter_delegate()->TriggerPrompt();
595 if (ProfileResetGlobalError::IsSupportedOnPlatform()) 595 if (ProfileResetGlobalError::IsSupportedOnPlatform())
596 ExpectResetPromptState(true /*active*/); 596 ExpectResetPromptState(true /*active*/);
597 else 597 else
598 ExpectResetPromptState(false /*active*/); 598 ExpectResetPromptState(false /*active*/);
599 resetter_delegate()->DismissPrompt(); 599 resetter_delegate()->DismissPrompt();
600 ExpectResetPromptState(false /*active*/); 600 ExpectResetPromptState(false /*active*/);
601 resetter_delegate()->DismissPrompt(); 601 resetter_delegate()->DismissPrompt();
602 } 602 }
603 603
604 } // namespace 604 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/profile_resetter/automatic_profile_resetter_delegate.cc ('k') | chrome/browser/rlz/rlz.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698