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/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/metrics/field_trial.h" | 7 #include "base/metrics/field_trial.h" |
8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
9 #include "base/test/test_simple_task_runner.h" | 9 #include "base/test/test_simple_task_runner.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 | 150 |
151 std::string extension_id_; | 151 std::string extension_id_; |
152 }; | 152 }; |
153 | 153 |
154 INSTANTIATE_TEST_CASE_P(HotwordServiceTests, | 154 INSTANTIATE_TEST_CASE_P(HotwordServiceTests, |
155 HotwordServiceTest, | 155 HotwordServiceTest, |
156 ::testing::Values( | 156 ::testing::Values( |
157 extension_misc::kHotwordSharedModuleId)); | 157 extension_misc::kHotwordSharedModuleId)); |
158 | 158 |
159 TEST_P(HotwordServiceTest, IsHotwordAllowedLocale) { | 159 TEST_P(HotwordServiceTest, IsHotwordAllowedLocale) { |
| 160 #if defined(ENABLE_HOTWORDING) |
160 TestingProfile::Builder profile_builder; | 161 TestingProfile::Builder profile_builder; |
161 scoped_ptr<TestingProfile> profile = profile_builder.Build(); | 162 scoped_ptr<TestingProfile> profile = profile_builder.Build(); |
162 | 163 |
163 // Check that the service exists so that a NULL service be ruled out in | 164 // Check that the service exists so that a NULL service be ruled out in |
164 // following tests. | 165 // following tests. |
165 HotwordService* hotword_service = | 166 HotwordService* hotword_service = |
166 HotwordServiceFactory::GetForProfile(profile.get()); | 167 HotwordServiceFactory::GetForProfile(profile.get()); |
167 EXPECT_TRUE(hotword_service != NULL); | 168 EXPECT_TRUE(hotword_service != NULL); |
168 | 169 |
169 // Set the language to an invalid one. | 170 // Set the language to an invalid one. |
(...skipping 10 matching lines...) Expand all Loading... |
180 SetApplicationLocale(static_cast<Profile*>(profile.get()), "de_DE"); | 181 SetApplicationLocale(static_cast<Profile*>(profile.get()), "de_DE"); |
181 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 182 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
182 SetApplicationLocale(static_cast<Profile*>(profile.get()), "fr_fr"); | 183 SetApplicationLocale(static_cast<Profile*>(profile.get()), "fr_fr"); |
183 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 184 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
184 | 185 |
185 // Test that incognito even with a valid locale and valid field trial | 186 // Test that incognito even with a valid locale and valid field trial |
186 // still returns false. | 187 // still returns false. |
187 Profile* otr_profile = profile->GetOffTheRecordProfile(); | 188 Profile* otr_profile = profile->GetOffTheRecordProfile(); |
188 SetApplicationLocale(otr_profile, "en"); | 189 SetApplicationLocale(otr_profile, "en"); |
189 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(otr_profile)); | 190 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(otr_profile)); |
| 191 #endif // defined(ENABLE_HOTWORDING) |
190 } | 192 } |
191 | 193 |
192 TEST_P(HotwordServiceTest, ShouldReinstallExtension) { | 194 TEST_P(HotwordServiceTest, ShouldReinstallExtension) { |
193 InitializeEmptyExtensionService(); | 195 InitializeEmptyExtensionService(); |
194 | 196 |
195 HotwordServiceFactory* hotword_service_factory = | 197 HotwordServiceFactory* hotword_service_factory = |
196 HotwordServiceFactory::GetInstance(); | 198 HotwordServiceFactory::GetInstance(); |
197 | 199 |
198 MockHotwordService* hotword_service = static_cast<MockHotwordService*>( | 200 MockHotwordService* hotword_service = static_cast<MockHotwordService*>( |
199 hotword_service_factory->SetTestingFactoryAndUse( | 201 hotword_service_factory->SetTestingFactoryAndUse( |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 SetApplicationLocale(profile(), "test_locale"); | 238 SetApplicationLocale(profile(), "test_locale"); |
237 | 239 |
238 hotword_service->InstallHotwordExtensionFromWebstore(1); | 240 hotword_service->InstallHotwordExtensionFromWebstore(1); |
239 base::MessageLoop::current()->RunUntilIdle(); | 241 base::MessageLoop::current()->RunUntilIdle(); |
240 | 242 |
241 EXPECT_EQ("test_locale", | 243 EXPECT_EQ("test_locale", |
242 profile()->GetPrefs()->GetString(prefs::kHotwordPreviousLanguage)); | 244 profile()->GetPrefs()->GetString(prefs::kHotwordPreviousLanguage)); |
243 } | 245 } |
244 | 246 |
245 TEST_P(HotwordServiceTest, UninstallReinstallTriggeredCorrectly) { | 247 TEST_P(HotwordServiceTest, UninstallReinstallTriggeredCorrectly) { |
| 248 #if defined(ENABLE_HOTWORDING) |
246 InitializeEmptyExtensionService(); | 249 InitializeEmptyExtensionService(); |
247 service_->Init(); | 250 service_->Init(); |
248 | 251 |
249 HotwordServiceFactory* hotword_service_factory = | 252 HotwordServiceFactory* hotword_service_factory = |
250 HotwordServiceFactory::GetInstance(); | 253 HotwordServiceFactory::GetInstance(); |
251 | 254 |
252 MockHotwordService* hotword_service = static_cast<MockHotwordService*>( | 255 MockHotwordService* hotword_service = static_cast<MockHotwordService*>( |
253 hotword_service_factory->SetTestingFactoryAndUse( | 256 hotword_service_factory->SetTestingFactoryAndUse( |
254 profile(), BuildMockHotwordService)); | 257 profile(), BuildMockHotwordService)); |
255 ASSERT_TRUE(hotword_service != NULL); | 258 ASSERT_TRUE(hotword_service != NULL); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 EXPECT_FALSE(hotword_service->MaybeReinstallHotwordExtension()); | 309 EXPECT_FALSE(hotword_service->MaybeReinstallHotwordExtension()); |
307 EXPECT_EQ("fr_fr", | 310 EXPECT_EQ("fr_fr", |
308 profile()->GetPrefs()->GetString(prefs::kHotwordPreviousLanguage)); | 311 profile()->GetPrefs()->GetString(prefs::kHotwordPreviousLanguage)); |
309 | 312 |
310 // If the locale is set back to the last valid one, then an uninstall-install | 313 // If the locale is set back to the last valid one, then an uninstall-install |
311 // shouldn't be needed. | 314 // shouldn't be needed. |
312 SetApplicationLocale(profile(), "fr_fr"); | 315 SetApplicationLocale(profile(), "fr_fr"); |
313 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile())); | 316 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile())); |
314 EXPECT_FALSE(hotword_service->MaybeReinstallHotwordExtension()); | 317 EXPECT_FALSE(hotword_service->MaybeReinstallHotwordExtension()); |
315 EXPECT_EQ(1, hotword_service->uninstall_count()); // no change | 318 EXPECT_EQ(1, hotword_service->uninstall_count()); // no change |
| 319 #endif // defined(ENABLE_HOTWORDING) |
316 } | 320 } |
317 | 321 |
318 TEST_P(HotwordServiceTest, DisableAlwaysOnOnLanguageChange) { | 322 TEST_P(HotwordServiceTest, DisableAlwaysOnOnLanguageChange) { |
319 // Bypass test for old hotwording. | 323 // Bypass test for old hotwording. |
320 if (extension_id_ != extension_misc::kHotwordSharedModuleId) | 324 if (extension_id_ != extension_misc::kHotwordSharedModuleId) |
321 return; | 325 return; |
322 | 326 |
323 // Turn on Always On | 327 // Turn on Always On |
324 base::CommandLine::ForCurrentProcess()->AppendSwitch( | 328 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
325 switches::kEnableExperimentalHotwordHardware); | 329 switches::kEnableExperimentalHotwordHardware); |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
495 EXPECT_EQ(1, audio_history_handler->GetAudioHistoryCalls()); | 499 EXPECT_EQ(1, audio_history_handler->GetAudioHistoryCalls()); |
496 // We expect the next check for audio history to be in the queue. | 500 // We expect the next check for audio history to be in the queue. |
497 EXPECT_EQ(base::TimeDelta::FromDays(1), | 501 EXPECT_EQ(base::TimeDelta::FromDays(1), |
498 test_task_runner->NextPendingTaskDelay()); | 502 test_task_runner->NextPendingTaskDelay()); |
499 EXPECT_TRUE(test_task_runner->HasPendingTask()); | 503 EXPECT_TRUE(test_task_runner->HasPendingTask()); |
500 test_task_runner->RunPendingTasks(); | 504 test_task_runner->RunPendingTasks(); |
501 EXPECT_EQ(2, audio_history_handler->GetAudioHistoryCalls()); | 505 EXPECT_EQ(2, audio_history_handler->GetAudioHistoryCalls()); |
502 EXPECT_TRUE(test_task_runner->HasPendingTask()); | 506 EXPECT_TRUE(test_task_runner->HasPendingTask()); |
503 test_task_runner->ClearPendingTasks(); | 507 test_task_runner->ClearPendingTasks(); |
504 } | 508 } |
OLD | NEW |