| 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/metrics/field_trial.h" | 5 #include "base/metrics/field_trial.h" |
| 6 #include "base/prefs/pref_service.h" | 6 #include "base/prefs/pref_service.h" |
| 7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" |
| 8 #include "chrome/browser/search/hotword_service.h" | 8 #include "chrome/browser/search/hotword_service.h" |
| 9 #include "chrome/browser/search/hotword_service_factory.h" | 9 #include "chrome/browser/search/hotword_service_factory.h" |
| 10 #include "chrome/common/pref_names.h" | 10 #include "chrome/common/pref_names.h" |
| 11 #include "chrome/test/base/testing_profile.h" | 11 #include "chrome/test/base/testing_profile.h" |
| 12 #include "content/public/test/test_browser_thread_bundle.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
| 13 | 14 |
| 14 class HotwordServiceTest : public testing::Test { | 15 class HotwordServiceTest : public testing::Test { |
| 15 protected: | 16 protected: |
| 16 HotwordServiceTest() : field_trial_list_(NULL) {} | 17 HotwordServiceTest() : field_trial_list_(NULL) {} |
| 17 virtual ~HotwordServiceTest() {} | 18 virtual ~HotwordServiceTest() {} |
| 18 | 19 |
| 19 void SetApplicationLocale(Profile* profile, const std::string& new_locale) { | 20 void SetApplicationLocale(Profile* profile, const std::string& new_locale) { |
| 20 #if defined(OS_CHROMEOS) | 21 #if defined(OS_CHROMEOS) |
| 21 // On ChromeOS locale is per-profile. | 22 // On ChromeOS locale is per-profile. |
| 22 profile->GetPrefs()->SetString(prefs::kApplicationLocale, new_locale); | 23 profile->GetPrefs()->SetString(prefs::kApplicationLocale, new_locale); |
| 23 #else | 24 #else |
| 24 g_browser_process->SetApplicationLocale(new_locale); | 25 g_browser_process->SetApplicationLocale(new_locale); |
| 25 #endif | 26 #endif |
| 26 } | 27 } |
| 27 | 28 |
| 28 private: | 29 private: |
| 29 base::FieldTrialList field_trial_list_; | 30 base::FieldTrialList field_trial_list_; |
| 31 content::TestBrowserThreadBundle thread_bundle_; |
| 30 }; | 32 }; |
| 31 | 33 |
| 32 TEST_F(HotwordServiceTest, ShouldShowOptInPopup) { | 34 TEST_F(HotwordServiceTest, ShouldShowOptInPopup) { |
| 33 TestingProfile::Builder profile_builder; | 35 TestingProfile::Builder profile_builder; |
| 34 TestingProfile::Builder otr_profile_builder; | 36 TestingProfile::Builder otr_profile_builder; |
| 35 otr_profile_builder.SetIncognito(); | 37 otr_profile_builder.SetIncognito(); |
| 36 scoped_ptr<TestingProfile> profile = profile_builder.Build(); | 38 scoped_ptr<TestingProfile> profile = profile_builder.Build(); |
| 37 scoped_ptr<TestingProfile> otr_profile = otr_profile_builder.Build(); | 39 scoped_ptr<TestingProfile> otr_profile = otr_profile_builder.Build(); |
| 38 | 40 |
| 39 // Popup should not be shown for incognito profiles. | 41 // Popup should not be shown for incognito profiles. |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 SetApplicationLocale(static_cast<Profile*>(profile.get()), "en-US"); | 144 SetApplicationLocale(static_cast<Profile*>(profile.get()), "en-US"); |
| 143 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 145 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
| 144 SetApplicationLocale(static_cast<Profile*>(profile.get()), "en_us"); | 146 SetApplicationLocale(static_cast<Profile*>(profile.get()), "en_us"); |
| 145 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); | 147 EXPECT_TRUE(HotwordServiceFactory::IsHotwordAllowed(profile.get())); |
| 146 | 148 |
| 147 // Test that incognito even with a valid locale and valid field trial | 149 // Test that incognito even with a valid locale and valid field trial |
| 148 // still returns false. | 150 // still returns false. |
| 149 SetApplicationLocale(static_cast<Profile*>(otr_profile.get()), "en"); | 151 SetApplicationLocale(static_cast<Profile*>(otr_profile.get()), "en"); |
| 150 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(otr_profile.get())); | 152 EXPECT_FALSE(HotwordServiceFactory::IsHotwordAllowed(otr_profile.get())); |
| 151 } | 153 } |
| OLD | NEW |