| Index: media/audio/audio_manager_unittest.cc
|
| diff --git a/media/audio/audio_manager_unittest.cc b/media/audio/audio_manager_unittest.cc
|
| index b878861d54d6ce66d605e2eef9a85e9186abf52e..daa3346b3c46adf500bb1b1b5cdd6fac494e9ae9 100644
|
| --- a/media/audio/audio_manager_unittest.cc
|
| +++ b/media/audio/audio_manager_unittest.cc
|
| @@ -640,4 +640,67 @@ TEST_F(AudioManagerTest, GetAssociatedOutputDeviceID) {
|
| }
|
| #endif // defined(USE_CRAS)
|
|
|
| +class TestAudioManager : public FakeAudioManager {
|
| + // For testing the default implementation of GetGroupId(Input|Output)
|
| + // input$i is associated to output$i, if both exist.
|
| + // Default input is input1.
|
| + // Default output is output2.
|
| + public:
|
| + TestAudioManager(
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner,
|
| + scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner,
|
| + AudioLogFactory* audio_log_factory)
|
| + : FakeAudioManager(task_runner, worker_task_runner, audio_log_factory) {}
|
| +
|
| + void GetAudioInputDeviceNames(AudioDeviceNames* device_names) override {
|
| + device_names->emplace_back("Input 1", "input1");
|
| + device_names->emplace_back("Input 2", "input2");
|
| + device_names->emplace_back("Input 3", "input3");
|
| + device_names->push_front(AudioDeviceName::CreateDefault());
|
| + }
|
| +
|
| + void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override {
|
| + device_names->emplace_back("Output 1", "output1");
|
| + device_names->emplace_back("Output 2", "output2");
|
| + device_names->emplace_back("Output 4", "output4");
|
| + device_names->push_front(AudioDeviceName::CreateDefault());
|
| + }
|
| +
|
| + std::string GetDefaultOutputDeviceID() override { return "output4"; }
|
| +
|
| + std::string GetAssociatedOutputDeviceID(
|
| + const std::string& input_id) override {
|
| + if (input_id == "input1")
|
| + return "output1";
|
| + else if (input_id == "input2")
|
| + return "output2";
|
| + else if (input_id == "default")
|
| + return "output1";
|
| + return "";
|
| + }
|
| +};
|
| +
|
| +TEST_F(AudioManagerTest, GetGroupId) {
|
| + CreateAudioManagerForTesting<TestAudioManager>();
|
| + // Groups:
|
| + // 0: input1, output1, default input
|
| + // 1: input2, output2
|
| + // 2: input3,
|
| + // 3: output4, default output
|
| + std::vector<std::string> group;
|
| + group.push_back(audio_manager_->GetGroupIDInput("input1"));
|
| + group.push_back(audio_manager_->GetGroupIDInput("input2"));
|
| + group.push_back(audio_manager_->GetGroupIDInput("input3"));
|
| + group.push_back(audio_manager_->GetGroupIDOutput("output4"));
|
| + for (size_t i = 0; i < group.size(); ++i) {
|
| + for (size_t j = i + 1; j < group.size(); ++j) {
|
| + EXPECT_NE(group[i], group[j]);
|
| + }
|
| + }
|
| + EXPECT_EQ(group[0], audio_manager_->GetGroupIDOutput("output1"));
|
| + EXPECT_EQ(group[0], audio_manager_->GetGroupIDInput("default"));
|
| + EXPECT_EQ(group[1], audio_manager_->GetGroupIDOutput("output2"));
|
| + EXPECT_EQ(group[3], audio_manager_->GetGroupIDOutput("default"));
|
| +}
|
| +
|
| } // namespace media
|
|
|