Chromium Code Reviews| Index: extensions/browser/api/audio/audio_apitest.cc |
| diff --git a/extensions/browser/api/audio/audio_apitest.cc b/extensions/browser/api/audio/audio_apitest.cc |
| index 40a5853179858f5416e6d86b4aa1fe4a64a492f6..20b73072598938ac0784c5bf9c21557414fcb51d 100644 |
| --- a/extensions/browser/api/audio/audio_apitest.cc |
| +++ b/extensions/browser/api/audio/audio_apitest.cc |
| @@ -40,59 +40,47 @@ const uint64_t kJabraMic2StableDeviceId = 90002; |
| const uint64_t kWebcamMicId = 40003; |
| const uint64_t kWebcamMicStableDeviceId = 90003; |
| -const AudioNode kJabraSpeaker1(false, |
| - kJabraSpeaker1Id, |
| - kJabraSpeaker1StableDeviceId, |
| - "Jabra Speaker", |
| - "USB", |
| - "Jabra Speaker 1", |
| - false, |
| - 0); |
| - |
| -const AudioNode kJabraSpeaker2(false, |
| - kJabraSpeaker2Id, |
| - kJabraSpeaker2StableDeviceId, |
| - "Jabra Speaker", |
| - "USB", |
| - "Jabra Speaker 2", |
| - false, |
| - 0); |
| - |
| -const AudioNode kHDMIOutput(false, |
| - kHDMIOutputId, |
| - kHDMIOutputStabeDevicelId, |
| - "HDMI output", |
| - "HDMI", |
| - "HDA Intel MID", |
| - false, |
| - 0); |
| - |
| -const AudioNode kJabraMic1(true, |
| - kJabraMic1Id, |
| - kJabraMic1StableDeviceId, |
| - "Jabra Mic", |
| - "USB", |
| - "Jabra Mic 1", |
| - false, |
| - 0); |
| - |
| -const AudioNode kJabraMic2(true, |
| - kJabraMic2Id, |
| - kJabraMic2StableDeviceId, |
| - "Jabra Mic", |
| - "USB", |
| - "Jabra Mic 2", |
| - false, |
| - 0); |
| - |
| -const AudioNode kUSBCameraMic(true, |
| - kWebcamMicId, |
| - kWebcamMicStableDeviceId, |
| - "Webcam Mic", |
| - "USB", |
| - "Logitech Webcam", |
| - false, |
| - 0); |
| +struct AudioNodeInfo { |
| + bool is_input; |
| + uint64_t id; |
| + uint64_t stable_id; |
| + const char* const device_name; |
| + const char* const type; |
| + const char* const name; |
| +}; |
| + |
| +const AudioNodeInfo kJabraSpeaker1 = { |
| + false, kJabraSpeaker1Id, kJabraSpeaker1StableDeviceId, "Jabra Speaker", |
| + "USB", "Jabra Speaker 1"}; |
| + |
| +const AudioNodeInfo kJabraSpeaker2 = { |
| + false, kJabraSpeaker2Id, kJabraSpeaker2StableDeviceId, "Jabra Speaker", |
| + "USB", "Jabra Speaker 2"}; |
| + |
| +const AudioNodeInfo kHDMIOutput = { |
| + false, kHDMIOutputId, kHDMIOutputStabeDevicelId, |
| + "HDMI output", "HDMI", "HDA Intel MID"}; |
|
jennyz
2016/12/09 23:52:18
Remove the extra white space in between.
|
| + |
| +const AudioNodeInfo kJabraMic1 = { |
| + true, kJabraMic1Id, kJabraMic1StableDeviceId, |
| + "Jabra Mic", "USB", "Jabra Mic 1"}; |
|
jennyz
2016/12/09 23:52:18
ditto
|
| + |
| +const AudioNodeInfo kJabraMic2 = { |
| + true, kJabraMic2Id, kJabraMic2StableDeviceId, |
| + "Jabra Mic", "USB", "Jabra Mic 2"}; |
|
jennyz
2016/12/09 23:52:18
ditto
|
| + |
| +const AudioNodeInfo kUSBCameraMic = { |
| + true, kWebcamMicId, kWebcamMicStableDeviceId, |
| + "Webcam Mic", "USB", "Logitech Webcam"}; |
|
jennyz
2016/12/09 23:52:19
ditto
|
| + |
| +AudioNode CreateAudioNode(const AudioNodeInfo& info, int version) { |
| + return AudioNode(info.is_input, info.id, version == 2, |
| + // stable_device_id: |
| + info.stable_id ^ (version == 1 ? 0 : 0xFFFF), |
| + // stable_device_id_old: |
| + version == 1 ? 0 : info.stable_id, info.device_name, |
| + info.type, info.name, false, 0); |
| +} |
| class AudioApiTest : public ShellApiTest { |
| public: |
| @@ -125,24 +113,33 @@ class AudioApiTest : public ShellApiTest { |
| chromeos::FakeCrasAudioClient* fake_cras_audio_client_; // Not owned. |
| }; |
| -IN_PROC_BROWSER_TEST_F(AudioApiTest, Audio) { |
| +IN_PROC_BROWSER_TEST_F(AudioApiTest, AudioV1StableId) { |
| // Set up the audio nodes for testing. |
| - AudioNodeList audio_nodes; |
| - audio_nodes.push_back(kJabraSpeaker1); |
| - audio_nodes.push_back(kJabraSpeaker2); |
| - audio_nodes.push_back(kHDMIOutput); |
| - audio_nodes.push_back(kJabraMic1); |
| - audio_nodes.push_back(kJabraMic2); |
| - audio_nodes.push_back(kUSBCameraMic); |
| + AudioNodeList audio_nodes = { |
| + CreateAudioNode(kJabraSpeaker1, 1), CreateAudioNode(kJabraSpeaker2, 1), |
| + CreateAudioNode(kHDMIOutput, 1), CreateAudioNode(kJabraMic1, 1), |
| + CreateAudioNode(kJabraMic2, 1), CreateAudioNode(kUSBCameraMic, 1)}; |
|
jennyz
2016/12/09 23:52:19
Is git cl format ok with the extra spaces in betwe
tbarzic
2016/12/10 02:35:08
actually, that's what git cl format came up with (
|
| + |
| + SetUpCrasAudioHandlerWithTestingNodes(audio_nodes); |
| + |
| + EXPECT_TRUE(RunAppTest("api_test/audio")) << message_; |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(AudioApiTest, AudioV2StableId) { |
| + // Set up the audio nodes for testing. |
| + AudioNodeList audio_nodes = { |
| + CreateAudioNode(kJabraSpeaker1, 2), CreateAudioNode(kJabraSpeaker2, 2), |
| + CreateAudioNode(kHDMIOutput, 2), CreateAudioNode(kJabraMic1, 2), |
| + CreateAudioNode(kJabraMic2, 2), CreateAudioNode(kUSBCameraMic, 2)}; |
|
jennyz
2016/12/09 23:52:19
ditto
|
| + |
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes); |
| EXPECT_TRUE(RunAppTest("api_test/audio")) << message_; |
| } |
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnLevelChangedOutputDevice) { |
| - AudioNodeList audio_nodes; |
| - audio_nodes.push_back(kJabraSpeaker1); |
| - audio_nodes.push_back(kHDMIOutput); |
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1), |
| + CreateAudioNode(kHDMIOutput, 1)}; |
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes); |
| // Verify the jabra speaker is the active output device. |
| @@ -171,9 +168,8 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnLevelChangedOutputDevice) { |
| } |
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnOutputMuteChanged) { |
| - AudioNodeList audio_nodes; |
| - audio_nodes.push_back(kJabraSpeaker1); |
| - audio_nodes.push_back(kHDMIOutput); |
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1), |
| + CreateAudioNode(kHDMIOutput, 1)}; |
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes); |
| // Verify the jabra speaker is the active output device. |
| @@ -201,13 +197,12 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnOutputMuteChanged) { |
| } |
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnInputMuteChanged) { |
| - AudioNodeList audio_nodes; |
| - audio_nodes.push_back(kJabraMic1); |
| - audio_nodes.push_back(kUSBCameraMic); |
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 1), |
| + CreateAudioNode(kUSBCameraMic, 1)}; |
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes); |
| // Set the jabra mic to be the active input device. |
| - AudioDevice jabra_mic(kJabraMic1); |
| + AudioDevice jabra_mic(CreateAudioNode(kJabraMic1, 1)); |
| cras_audio_handler_->SwitchToDevice( |
| jabra_mic, true, chromeos::CrasAudioHandler::ACTIVATE_BY_USER); |
| EXPECT_EQ(kJabraMic1.id, cras_audio_handler_->GetPrimaryActiveInputNode()); |
| @@ -232,9 +227,8 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnInputMuteChanged) { |
| } |
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) { |
| - AudioNodeList audio_nodes; |
| - audio_nodes.push_back(kJabraSpeaker1); |
| - audio_nodes.push_back(kJabraSpeaker2); |
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1), |
| + CreateAudioNode(kJabraSpeaker2, 1)}; |
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes); |
| const size_t init_device_size = audio_nodes.size(); |
| @@ -249,7 +243,7 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) { |
| ASSERT_TRUE(load_listener.WaitUntilSatisfied()); |
| // Plug in HDMI output. |
| - audio_nodes.push_back(kHDMIOutput); |
| + audio_nodes.push_back(CreateAudioNode(kHDMIOutput, 1)); |
| ChangeAudioNodes(audio_nodes); |
| cras_audio_handler_->GetAudioDevices(&audio_devices); |
| EXPECT_EQ(init_device_size + 1, audio_devices.size()); |
| @@ -260,10 +254,9 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) { |
| } |
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodes) { |
| - AudioNodeList audio_nodes; |
| - audio_nodes.push_back(kJabraMic1); |
| - audio_nodes.push_back(kJabraMic2); |
| - audio_nodes.push_back(kUSBCameraMic); |
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 1), |
| + CreateAudioNode(kJabraMic2, 1), |
| + CreateAudioNode(kUSBCameraMic, 1)}; |
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes); |
| const size_t init_device_size = audio_nodes.size(); |