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 "chromeos/audio/audio_devices_pref_handler_impl.h" | 5 #include "chromeos/audio/audio_devices_pref_handler_impl.h" |
6 | 6 |
7 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
8 #include "base/prefs/testing_pref_service.h" | 8 #include "base/prefs/testing_pref_service.h" |
9 #include "chromeos/audio/audio_device.h" | 9 #include "chromeos/audio/audio_device.h" |
10 #include "chromeos/audio/audio_devices_pref_handler.h" | 10 #include "chromeos/audio/audio_devices_pref_handler.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 | 55 |
56 const AudioDevice kOutputDeviceWithSpecialCharacters( | 56 const AudioDevice kOutputDeviceWithSpecialCharacters( |
57 AudioNode(false, | 57 AudioNode(false, |
58 kOtherTypeOutputId, | 58 kOtherTypeOutputId, |
59 "Fake ~!@#$%^&*()_+`-=<>?,./{}|[]\\\\Headphone", | 59 "Fake ~!@#$%^&*()_+`-=<>?,./{}|[]\\\\Headphone", |
60 "SOME_OTHER_TYPE", | 60 "SOME_OTHER_TYPE", |
61 "Other Type Output Device", | 61 "Other Type Output Device", |
62 false, | 62 false, |
63 0)); | 63 0)); |
64 | 64 |
65 const char kAudioCaptureAllowedPref[] = "audio_capture_allowed"; | |
66 | |
67 class AudioDevicesPrefHandlerTest : public testing::Test { | 65 class AudioDevicesPrefHandlerTest : public testing::Test { |
68 public: | 66 public: |
69 AudioDevicesPrefHandlerTest() {} | 67 AudioDevicesPrefHandlerTest() {} |
70 ~AudioDevicesPrefHandlerTest() override {} | 68 ~AudioDevicesPrefHandlerTest() override {} |
71 | 69 |
72 void SetUp() override { | 70 void SetUp() override { |
73 pref_service_.reset(new TestingPrefServiceSimple()); | 71 pref_service_.reset(new TestingPrefServiceSimple()); |
74 AudioDevicesPrefHandlerImpl::RegisterPrefs(pref_service_->registry(), | 72 AudioDevicesPrefHandlerImpl::RegisterPrefs(pref_service_->registry()); |
75 kAudioCaptureAllowedPref); | 73 audio_pref_handler_ = new AudioDevicesPrefHandlerImpl(pref_service_.get()); |
76 audio_pref_handler_ = new AudioDevicesPrefHandlerImpl( | |
77 pref_service_.get(), kAudioCaptureAllowedPref); | |
78 } | 74 } |
79 | 75 |
80 void TearDown() override { audio_pref_handler_ = NULL; } | 76 void TearDown() override { audio_pref_handler_ = NULL; } |
81 | 77 |
82 protected: | 78 protected: |
83 scoped_refptr<AudioDevicesPrefHandler> audio_pref_handler_; | 79 scoped_refptr<AudioDevicesPrefHandler> audio_pref_handler_; |
84 scoped_ptr<TestingPrefServiceSimple> pref_service_; | 80 scoped_ptr<TestingPrefServiceSimple> pref_service_; |
85 | 81 |
86 private: | 82 private: |
87 DISALLOW_COPY_AND_ASSIGN(AudioDevicesPrefHandlerTest); | 83 DISALLOW_COPY_AND_ASSIGN(AudioDevicesPrefHandlerTest); |
88 }; | 84 }; |
89 | 85 |
90 TEST_F(AudioDevicesPrefHandlerTest, TestDefaultValues) { | 86 TEST_F(AudioDevicesPrefHandlerTest, TestDefaultValues) { |
91 // TODO(rkc): Once the bug with default preferences is fixed, fix this test | 87 // TODO(rkc): Once the bug with default preferences is fixed, fix this test |
92 // also. http://crbug.com/442489 | 88 // also. http://crbug.com/442489 |
93 EXPECT_EQ(75.0, audio_pref_handler_->GetInputGainValue(&kInternalMic)); | 89 EXPECT_EQ(75.0, audio_pref_handler_->GetInputGainValue(&kInternalMic)); |
94 EXPECT_EQ(75.0, audio_pref_handler_->GetOutputVolumeValue(&kHeadphone)); | 90 EXPECT_EQ(75.0, audio_pref_handler_->GetOutputVolumeValue(&kHeadphone)); |
95 EXPECT_EQ(75.0, audio_pref_handler_->GetOutputVolumeValue(&kHDMIOutput)); | 91 EXPECT_EQ(75.0, audio_pref_handler_->GetOutputVolumeValue(&kHDMIOutput)); |
96 } | 92 } |
97 | 93 |
98 TEST_F(AudioDevicesPrefHandlerTest, PrefsRegistered) { | 94 TEST_F(AudioDevicesPrefHandlerTest, PrefsRegistered) { |
99 // The standard audio prefs are registered. | 95 // The standard audio prefs are registered. |
100 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioDevicesVolumePercent)); | 96 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioDevicesVolumePercent)); |
101 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioDevicesMute)); | 97 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioDevicesMute)); |
102 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioOutputAllowed)); | 98 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioOutputAllowed)); |
103 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioVolumePercent)); | 99 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioVolumePercent)); |
104 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioMute)); | 100 EXPECT_TRUE(pref_service_->FindPreference(prefs::kAudioMute)); |
105 | |
106 // The optional pref is also registered. | |
107 EXPECT_TRUE(pref_service_->FindPreference(kAudioCaptureAllowedPref)); | |
108 } | 101 } |
109 | 102 |
110 TEST_F(AudioDevicesPrefHandlerTest, TestBasicInputOutputDevices) { | 103 TEST_F(AudioDevicesPrefHandlerTest, TestBasicInputOutputDevices) { |
111 audio_pref_handler_->SetVolumeGainValue(kInternalMic, 13.37); | 104 audio_pref_handler_->SetVolumeGainValue(kInternalMic, 13.37); |
112 EXPECT_EQ(13.37, audio_pref_handler_->GetInputGainValue(&kInternalMic)); | 105 EXPECT_EQ(13.37, audio_pref_handler_->GetInputGainValue(&kInternalMic)); |
113 audio_pref_handler_->SetVolumeGainValue(kHeadphone, 47.28); | 106 audio_pref_handler_->SetVolumeGainValue(kHeadphone, 47.28); |
114 EXPECT_EQ(47.28, audio_pref_handler_->GetOutputVolumeValue(&kHeadphone)); | 107 EXPECT_EQ(47.28, audio_pref_handler_->GetOutputVolumeValue(&kHeadphone)); |
115 } | 108 } |
116 | 109 |
117 TEST_F(AudioDevicesPrefHandlerTest, TestSpecialCharactersInDeviceNames) { | 110 TEST_F(AudioDevicesPrefHandlerTest, TestSpecialCharactersInDeviceNames) { |
118 audio_pref_handler_->SetVolumeGainValue(kInputDeviceWithSpecialCharacters, | 111 audio_pref_handler_->SetVolumeGainValue(kInputDeviceWithSpecialCharacters, |
119 73.31); | 112 73.31); |
120 audio_pref_handler_->SetVolumeGainValue(kOutputDeviceWithSpecialCharacters, | 113 audio_pref_handler_->SetVolumeGainValue(kOutputDeviceWithSpecialCharacters, |
121 85.92); | 114 85.92); |
122 | 115 |
123 EXPECT_EQ(73.31, audio_pref_handler_->GetInputGainValue( | 116 EXPECT_EQ(73.31, audio_pref_handler_->GetInputGainValue( |
124 &kInputDeviceWithSpecialCharacters)); | 117 &kInputDeviceWithSpecialCharacters)); |
125 EXPECT_EQ(85.92, audio_pref_handler_->GetOutputVolumeValue( | 118 EXPECT_EQ(85.92, audio_pref_handler_->GetOutputVolumeValue( |
126 &kOutputDeviceWithSpecialCharacters)); | 119 &kOutputDeviceWithSpecialCharacters)); |
127 } | 120 } |
128 | 121 |
129 } // namespace chromeos | 122 } // namespace chromeos |
OLD | NEW |