OLD | NEW |
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.h" | 5 #include "chrome/browser/profile_resetter/automatic_profile_resetter.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 const char kTestModuleDigest2[] = "12345678901234567890123456789012"; | 55 const char kTestModuleDigest2[] = "12345678901234567890123456789012"; |
56 | 56 |
57 // Helpers ------------------------------------------------------------------ | 57 // Helpers ------------------------------------------------------------------ |
58 | 58 |
59 // A testing version of the AutomaticProfileResetter that differs from the real | 59 // A testing version of the AutomaticProfileResetter that differs from the real |
60 // one only in that it has its statistics reporting mocked out for verification. | 60 // one only in that it has its statistics reporting mocked out for verification. |
61 class AutomaticProfileResetterUnderTest : public AutomaticProfileResetter { | 61 class AutomaticProfileResetterUnderTest : public AutomaticProfileResetter { |
62 public: | 62 public: |
63 explicit AutomaticProfileResetterUnderTest(Profile* profile) | 63 explicit AutomaticProfileResetterUnderTest(Profile* profile) |
64 : AutomaticProfileResetter(profile) {} | 64 : AutomaticProfileResetter(profile) {} |
65 virtual ~AutomaticProfileResetterUnderTest() {} | 65 ~AutomaticProfileResetterUnderTest() override {} |
66 | 66 |
67 MOCK_METHOD2(ReportStatistics, void(uint32, uint32)); | 67 MOCK_METHOD2(ReportStatistics, void(uint32, uint32)); |
68 MOCK_METHOD1(ReportPromptResult, | 68 MOCK_METHOD1(ReportPromptResult, |
69 void(AutomaticProfileResetter::PromptResult)); | 69 void(AutomaticProfileResetter::PromptResult)); |
70 | 70 |
71 private: | 71 private: |
72 DISALLOW_COPY_AND_ASSIGN(AutomaticProfileResetterUnderTest); | 72 DISALLOW_COPY_AND_ASSIGN(AutomaticProfileResetterUnderTest); |
73 }; | 73 }; |
74 | 74 |
75 class MockProfileResetterDelegate : public AutomaticProfileResetterDelegate { | 75 class MockProfileResetterDelegate : public AutomaticProfileResetterDelegate { |
76 public: | 76 public: |
77 MockProfileResetterDelegate() | 77 MockProfileResetterDelegate() |
78 : emulated_is_default_search_provider_managed_(false) {} | 78 : emulated_is_default_search_provider_managed_(false) {} |
79 virtual ~MockProfileResetterDelegate() {} | 79 ~MockProfileResetterDelegate() override {} |
80 | 80 |
81 MOCK_METHOD0(EnumerateLoadedModulesIfNeeded, void()); | 81 MOCK_METHOD0(EnumerateLoadedModulesIfNeeded, void()); |
82 MOCK_CONST_METHOD1(RequestCallbackWhenLoadedModulesAreEnumerated, | 82 MOCK_CONST_METHOD1(RequestCallbackWhenLoadedModulesAreEnumerated, |
83 void(const base::Closure&)); | 83 void(const base::Closure&)); |
84 | 84 |
85 MOCK_METHOD0(LoadTemplateURLServiceIfNeeded, void()); | 85 MOCK_METHOD0(LoadTemplateURLServiceIfNeeded, void()); |
86 MOCK_CONST_METHOD1(RequestCallbackWhenTemplateURLServiceIsLoaded, | 86 MOCK_CONST_METHOD1(RequestCallbackWhenTemplateURLServiceIsLoaded, |
87 void(const base::Closure&)); | 87 void(const base::Closure&)); |
88 | 88 |
89 MOCK_METHOD0(FetchBrandcodedDefaultSettingsIfNeeded, void()); | 89 MOCK_METHOD0(FetchBrandcodedDefaultSettingsIfNeeded, void()); |
90 MOCK_CONST_METHOD1(RequestCallbackWhenBrandcodedDefaultsAreFetched, | 90 MOCK_CONST_METHOD1(RequestCallbackWhenBrandcodedDefaultsAreFetched, |
91 void(const base::Closure&)); | 91 void(const base::Closure&)); |
92 | 92 |
93 MOCK_CONST_METHOD0(OnGetLoadedModuleNameDigestsCalled, void()); | 93 MOCK_CONST_METHOD0(OnGetLoadedModuleNameDigestsCalled, void()); |
94 MOCK_CONST_METHOD0(OnGetDefaultSearchProviderDetailsCalled, void()); | 94 MOCK_CONST_METHOD0(OnGetDefaultSearchProviderDetailsCalled, void()); |
95 MOCK_CONST_METHOD0(OnIsDefaultSearchProviderManagedCalled, void()); | 95 MOCK_CONST_METHOD0(OnIsDefaultSearchProviderManagedCalled, void()); |
96 MOCK_CONST_METHOD0(OnGetPrepopulatedSearchProvidersDetailsCalled, void()); | 96 MOCK_CONST_METHOD0(OnGetPrepopulatedSearchProvidersDetailsCalled, void()); |
97 | 97 |
98 MOCK_METHOD0(TriggerPrompt, bool()); | 98 MOCK_METHOD0(TriggerPrompt, bool()); |
99 MOCK_METHOD2(TriggerProfileSettingsReset, void(bool, const base::Closure&)); | 99 MOCK_METHOD2(TriggerProfileSettingsReset, void(bool, const base::Closure&)); |
100 MOCK_METHOD0(DismissPrompt, void()); | 100 MOCK_METHOD0(DismissPrompt, void()); |
101 | 101 |
102 virtual scoped_ptr<base::ListValue> | 102 scoped_ptr<base::ListValue> GetLoadedModuleNameDigests() const override { |
103 GetLoadedModuleNameDigests() const override { | |
104 OnGetLoadedModuleNameDigestsCalled(); | 103 OnGetLoadedModuleNameDigestsCalled(); |
105 return scoped_ptr<base::ListValue>( | 104 return scoped_ptr<base::ListValue>( |
106 emulated_loaded_module_digests_.DeepCopy()); | 105 emulated_loaded_module_digests_.DeepCopy()); |
107 } | 106 } |
108 | 107 |
109 virtual scoped_ptr<base::DictionaryValue> | 108 scoped_ptr<base::DictionaryValue> |
110 GetDefaultSearchProviderDetails() const override { | 109 GetDefaultSearchProviderDetails() const override { |
111 OnGetDefaultSearchProviderDetailsCalled(); | 110 OnGetDefaultSearchProviderDetailsCalled(); |
112 return scoped_ptr<base::DictionaryValue>( | 111 return scoped_ptr<base::DictionaryValue>( |
113 emulated_default_search_provider_details_.DeepCopy()); | 112 emulated_default_search_provider_details_.DeepCopy()); |
114 } | 113 } |
115 | 114 |
116 virtual bool IsDefaultSearchProviderManaged() const override { | 115 bool IsDefaultSearchProviderManaged() const override { |
117 OnIsDefaultSearchProviderManagedCalled(); | 116 OnIsDefaultSearchProviderManagedCalled(); |
118 return emulated_is_default_search_provider_managed_; | 117 return emulated_is_default_search_provider_managed_; |
119 } | 118 } |
120 | 119 |
121 virtual scoped_ptr<base::ListValue> | 120 scoped_ptr<base::ListValue> |
122 GetPrepopulatedSearchProvidersDetails() const override { | 121 GetPrepopulatedSearchProvidersDetails() const override { |
123 OnGetPrepopulatedSearchProvidersDetailsCalled(); | 122 OnGetPrepopulatedSearchProvidersDetailsCalled(); |
124 return scoped_ptr<base::ListValue>( | 123 return scoped_ptr<base::ListValue>( |
125 emulated_search_providers_details_.DeepCopy()); | 124 emulated_search_providers_details_.DeepCopy()); |
126 } | 125 } |
127 | 126 |
128 static void ClosureInvoker(const base::Closure& closure) { closure.Run(); } | 127 static void ClosureInvoker(const base::Closure& closure) { closure.Run(); } |
129 | 128 |
130 void ExpectCallsToDependenciesSetUpMethods() { | 129 void ExpectCallsToDependenciesSetUpMethods() { |
131 EXPECT_CALL(*this, EnumerateLoadedModulesIfNeeded()); | 130 EXPECT_CALL(*this, EnumerateLoadedModulesIfNeeded()); |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
508 | 507 |
509 // Register some additional user preferences for testing purposes. | 508 // Register some additional user preferences for testing purposes. |
510 user_prefs::PrefRegistrySyncable* user_prefs_registry = | 509 user_prefs::PrefRegistrySyncable* user_prefs_registry = |
511 profile_->GetTestingPrefService()->registry(); | 510 profile_->GetTestingPrefService()->registry(); |
512 DCHECK(user_prefs_registry); | 511 DCHECK(user_prefs_registry); |
513 user_prefs_registry->RegisterStringPref( | 512 user_prefs_registry->RegisterStringPref( |
514 kTestPreferencePath, std::string(), | 513 kTestPreferencePath, std::string(), |
515 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 514 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
516 } | 515 } |
517 | 516 |
518 virtual void SetUp() override { | 517 void SetUp() override { |
519 variations::testing::ClearAllVariationParams(); | 518 variations::testing::ClearAllVariationParams(); |
520 base::FieldTrialList::CreateFieldTrial(kAutomaticProfileResetStudyName, | 519 base::FieldTrialList::CreateFieldTrial(kAutomaticProfileResetStudyName, |
521 experiment_group_name_); | 520 experiment_group_name_); |
522 resetter_.reset( | 521 resetter_.reset( |
523 new testing::StrictMock<AutomaticProfileResetterUnderTest>(profile())); | 522 new testing::StrictMock<AutomaticProfileResetterUnderTest>(profile())); |
524 mock_delegate_owned_.reset( | 523 mock_delegate_owned_.reset( |
525 new testing::StrictMock<MockProfileResetterDelegate>()); | 524 new testing::StrictMock<MockProfileResetterDelegate>()); |
526 mock_delegate_ = mock_delegate_owned_.get(); | 525 mock_delegate_ = mock_delegate_owned_.get(); |
527 | 526 |
528 ExpectAllMementoValuesEqualTo(std::string()); | 527 ExpectAllMementoValuesEqualTo(std::string()); |
(...skipping 841 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1370 mock_delegate().ExpectCallsToDependenciesSetUpMethods(); | 1369 mock_delegate().ExpectCallsToDependenciesSetUpMethods(); |
1371 mock_delegate().ExpectCallsToGetterMethods(); | 1370 mock_delegate().ExpectCallsToGetterMethods(); |
1372 uint32 expected_mask = | 1371 uint32 expected_mask = |
1373 HAS_EXPECTED_MODULE_DIGEST_1 | HAS_EXPECTED_MODULE_DIGEST_2; | 1372 HAS_EXPECTED_MODULE_DIGEST_1 | HAS_EXPECTED_MODULE_DIGEST_2; |
1374 EXPECT_CALL(resetter(), ReportStatistics(0x00u, expected_mask)); | 1373 EXPECT_CALL(resetter(), ReportStatistics(0x00u, expected_mask)); |
1375 | 1374 |
1376 UnleashResetterAndWait(); | 1375 UnleashResetterAndWait(); |
1377 } | 1376 } |
1378 | 1377 |
1379 } // namespace | 1378 } // namespace |
OLD | NEW |