OLD | NEW |
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 "base/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
6 #include "base/metrics/field_trial.h" | 6 #include "base/metrics/field_trial.h" |
7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
8 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
9 #include "chrome/browser/extensions/extension_service_test_base.h" | 9 #include "chrome/browser/extensions/extension_service_test_base.h" |
10 #include "chrome/browser/extensions/test_extension_service.h" | 10 #include "chrome/browser/extensions/test_extension_service.h" |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 g_browser_process->SetApplicationLocale(new_locale); | 85 g_browser_process->SetApplicationLocale(new_locale); |
86 #endif | 86 #endif |
87 } | 87 } |
88 | 88 |
89 private: | 89 private: |
90 base::FieldTrialList field_trial_list_; | 90 base::FieldTrialList field_trial_list_; |
91 }; | 91 }; |
92 | 92 |
93 TEST_F(HotwordServiceTest, IsHotwordAllowedBadFieldTrial) { | 93 TEST_F(HotwordServiceTest, IsHotwordAllowedBadFieldTrial) { |
94 TestingProfile::Builder profile_builder; | 94 TestingProfile::Builder profile_builder; |
95 TestingProfile::Builder otr_profile_builder; | |
96 otr_profile_builder.SetIncognito(); | |
97 scoped_ptr<TestingProfile> profile = profile_builder.Build(); | 95 scoped_ptr<TestingProfile> profile = profile_builder.Build(); |
98 scoped_ptr<TestingProfile> otr_profile = otr_profile_builder.Build(); | |
99 | 96 |
100 HotwordServiceFactory* hotword_service_factory = | 97 HotwordServiceFactory* hotword_service_factory = |
101 HotwordServiceFactory::GetInstance(); | 98 HotwordServiceFactory::GetInstance(); |
102 | 99 |
103 // Check that the service exists so that a NULL service be ruled out in | 100 // Check that the service exists so that a NULL service be ruled out in |
104 // following tests. | 101 // following tests. |
105 HotwordService* hotword_service = | 102 HotwordService* hotword_service = |
106 hotword_service_factory->GetForProfile(profile.get()); | 103 hotword_service_factory->GetForProfile(profile.get()); |
107 EXPECT_TRUE(hotword_service != NULL); | 104 EXPECT_TRUE(hotword_service != NULL); |
108 | 105 |
(...skipping 10 matching lines...) Expand all Loading... |
119 hotword_internal::kHotwordFieldTrialName); | 116 hotword_internal::kHotwordFieldTrialName); |
120 EXPECT_TRUE(group ==hotword_internal::kHotwordFieldTrialDisabledGroupName); | 117 EXPECT_TRUE(group ==hotword_internal::kHotwordFieldTrialDisabledGroupName); |
121 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 118 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
122 | 119 |
123 // Set a valid locale with invalid field trial to be sure it is | 120 // Set a valid locale with invalid field trial to be sure it is |
124 // still false. | 121 // still false. |
125 SetApplicationLocale(static_cast<Profile*>(profile.get()), "en"); | 122 SetApplicationLocale(static_cast<Profile*>(profile.get()), "en"); |
126 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 123 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
127 | 124 |
128 // Test that incognito returns false as well. | 125 // Test that incognito returns false as well. |
129 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(otr_profile.get())); | 126 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed( |
| 127 profile->GetOffTheRecordProfile())); |
130 } | 128 } |
131 | 129 |
132 TEST_F(HotwordServiceTest, IsHotwordAllowedLocale) { | 130 TEST_F(HotwordServiceTest, IsHotwordAllowedLocale) { |
133 TestingProfile::Builder profile_builder; | 131 TestingProfile::Builder profile_builder; |
134 TestingProfile::Builder otr_profile_builder; | |
135 otr_profile_builder.SetIncognito(); | |
136 scoped_ptr<TestingProfile> profile = profile_builder.Build(); | 132 scoped_ptr<TestingProfile> profile = profile_builder.Build(); |
137 scoped_ptr<TestingProfile> otr_profile = otr_profile_builder.Build(); | |
138 | 133 |
139 HotwordServiceFactory* hotword_service_factory = | 134 HotwordServiceFactory* hotword_service_factory = |
140 HotwordServiceFactory::GetInstance(); | 135 HotwordServiceFactory::GetInstance(); |
141 | 136 |
142 // Check that the service exists so that a NULL service be ruled out in | 137 // Check that the service exists so that a NULL service be ruled out in |
143 // following tests. | 138 // following tests. |
144 HotwordService* hotword_service = | 139 HotwordService* hotword_service = |
145 hotword_service_factory->GetForProfile(profile.get()); | 140 hotword_service_factory->GetForProfile(profile.get()); |
146 EXPECT_TRUE(hotword_service != NULL); | 141 EXPECT_TRUE(hotword_service != NULL); |
147 | 142 |
(...skipping 12 matching lines...) Expand all Loading... |
160 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 155 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
161 SetApplicationLocale(static_cast<Profile*>(profile.get()), "en_us"); | 156 SetApplicationLocale(static_cast<Profile*>(profile.get()), "en_us"); |
162 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 157 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
163 SetApplicationLocale(static_cast<Profile*>(profile.get()), "de_DE"); | 158 SetApplicationLocale(static_cast<Profile*>(profile.get()), "de_DE"); |
164 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 159 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
165 SetApplicationLocale(static_cast<Profile*>(profile.get()), "fr_fr"); | 160 SetApplicationLocale(static_cast<Profile*>(profile.get()), "fr_fr"); |
166 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 161 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
167 | 162 |
168 // Test that incognito even with a valid locale and valid field trial | 163 // Test that incognito even with a valid locale and valid field trial |
169 // still returns false. | 164 // still returns false. |
170 SetApplicationLocale(static_cast<Profile*>(otr_profile.get()), "en"); | 165 Profile* otr_profile = profile->GetOffTheRecordProfile(); |
171 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(otr_profile.get())); | 166 SetApplicationLocale(otr_profile, "en"); |
| 167 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(otr_profile)); |
172 } | 168 } |
173 | 169 |
174 TEST_F(HotwordServiceTest, AudioLoggingPrefSetCorrectly) { | 170 TEST_F(HotwordServiceTest, AudioLoggingPrefSetCorrectly) { |
175 TestingProfile::Builder profile_builder; | 171 TestingProfile::Builder profile_builder; |
176 scoped_ptr<TestingProfile> profile = profile_builder.Build(); | 172 scoped_ptr<TestingProfile> profile = profile_builder.Build(); |
177 | 173 |
178 HotwordServiceFactory* hotword_service_factory = | 174 HotwordServiceFactory* hotword_service_factory = |
179 HotwordServiceFactory::GetInstance(); | 175 HotwordServiceFactory::GetInstance(); |
180 HotwordService* hotword_service = | 176 HotwordService* hotword_service = |
181 hotword_service_factory->GetForProfile(profile.get()); | 177 hotword_service_factory->GetForProfile(profile.get()); |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 EXPECT_EQ("fr_fr", | 300 EXPECT_EQ("fr_fr", |
305 profile()->GetPrefs()->GetString(prefs::kHotwordPreviousLanguage)); | 301 profile()->GetPrefs()->GetString(prefs::kHotwordPreviousLanguage)); |
306 | 302 |
307 // If the locale is set back to the last valid one, then an uninstall-install | 303 // If the locale is set back to the last valid one, then an uninstall-install |
308 // shouldn't be needed. | 304 // shouldn't be needed. |
309 SetApplicationLocale(profile(), "fr_fr"); | 305 SetApplicationLocale(profile(), "fr_fr"); |
310 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile())); | 306 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile())); |
311 EXPECT_FALSE(hotword_service->MaybeReinstallHotwordExtension()); | 307 EXPECT_FALSE(hotword_service->MaybeReinstallHotwordExtension()); |
312 EXPECT_EQ(1, hotword_service->uninstall_count()); // no change | 308 EXPECT_EQ(1, hotword_service->uninstall_count()); // no change |
313 } | 309 } |
OLD | NEW |