Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Unified Diff: extensions/browser/api/audio/audio_apitest.cc

Issue 2585413002: Update audio api to use v2 stable device ID (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 20b73072598938ac0784c5bf9c21557414fcb51d..e73034d5a184d61e5ddfd92f0ecbf2fc9d269117 100644
--- a/extensions/browser/api/audio/audio_apitest.cc
+++ b/extensions/browser/api/audio/audio_apitest.cc
@@ -75,10 +75,10 @@ const AudioNodeInfo kUSBCameraMic = {
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,
+ // stable_device_id_v1:
+ info.stable_id,
+ // stable_device_id_v2:
+ version == 2 ? info.stable_id ^ 0xFFFF : 0, info.device_name,
info.type, info.name, false, 0);
}
@@ -138,8 +138,8 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, AudioV2StableId) {
}
IN_PROC_BROWSER_TEST_F(AudioApiTest, OnLevelChangedOutputDevice) {
- AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1),
- CreateAudioNode(kHDMIOutput, 1)};
+ AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 2),
+ CreateAudioNode(kHDMIOutput, 2)};
SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
// Verify the jabra speaker is the active output device.
@@ -168,8 +168,8 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnLevelChangedOutputDevice) {
}
IN_PROC_BROWSER_TEST_F(AudioApiTest, OnOutputMuteChanged) {
- AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1),
- CreateAudioNode(kHDMIOutput, 1)};
+ AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 2),
+ CreateAudioNode(kHDMIOutput, 2)};
SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
// Verify the jabra speaker is the active output device.
@@ -197,12 +197,12 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnOutputMuteChanged) {
}
IN_PROC_BROWSER_TEST_F(AudioApiTest, OnInputMuteChanged) {
- AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 1),
- CreateAudioNode(kUSBCameraMic, 1)};
+ AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 2),
+ CreateAudioNode(kUSBCameraMic, 2)};
SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
// Set the jabra mic to be the active input device.
- AudioDevice jabra_mic(CreateAudioNode(kJabraMic1, 1));
+ AudioDevice jabra_mic(CreateAudioNode(kJabraMic1, 2));
cras_audio_handler_->SwitchToDevice(
jabra_mic, true, chromeos::CrasAudioHandler::ACTIVATE_BY_USER);
EXPECT_EQ(kJabraMic1.id, cras_audio_handler_->GetPrimaryActiveInputNode());
@@ -226,7 +226,7 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnInputMuteChanged) {
EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
}
-IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) {
+IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodesV1) {
AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1),
CreateAudioNode(kJabraSpeaker2, 1)};
SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
@@ -253,7 +253,34 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) {
EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
}
-IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodes) {
+IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodesV2) {
+ AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 2),
+ CreateAudioNode(kJabraSpeaker2, 2)};
+ SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
+ const size_t init_device_size = audio_nodes.size();
+
+ AudioDeviceList audio_devices;
+ cras_audio_handler_->GetAudioDevices(&audio_devices);
+ EXPECT_EQ(init_device_size, audio_devices.size());
+
+ // Load background app.
+ ResultCatcher result_catcher;
+ ExtensionTestMessageListener load_listener("loaded", false);
+ ASSERT_TRUE(LoadApp("api_test/audio/add_nodes"));
+ ASSERT_TRUE(load_listener.WaitUntilSatisfied());
+
+ // Plug in HDMI output.
+ audio_nodes.push_back(CreateAudioNode(kHDMIOutput, 2));
+ ChangeAudioNodes(audio_nodes);
+ cras_audio_handler_->GetAudioDevices(&audio_devices);
+ EXPECT_EQ(init_device_size + 1, audio_devices.size());
+
+ // Verify the background app got the OnNodesChanged event
+ // with the new node added.
+ EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
+}
+
+IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodesV1) {
AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 1),
CreateAudioNode(kJabraMic2, 1),
CreateAudioNode(kUSBCameraMic, 1)};
@@ -281,6 +308,34 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodes) {
EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
}
+IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodesV2) {
+ AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 2),
+ CreateAudioNode(kJabraMic2, 2),
+ CreateAudioNode(kUSBCameraMic, 2)};
+ SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
+ const size_t init_device_size = audio_nodes.size();
+
+ AudioDeviceList audio_devices;
+ cras_audio_handler_->GetAudioDevices(&audio_devices);
+ EXPECT_EQ(init_device_size, audio_devices.size());
+
+ // Load background app.
+ ResultCatcher result_catcher;
+ ExtensionTestMessageListener load_listener("loaded", false);
+ ASSERT_TRUE(LoadApp("api_test/audio/remove_nodes"));
+ ASSERT_TRUE(load_listener.WaitUntilSatisfied());
+
+ // Remove camera mic.
+ audio_nodes.erase(audio_nodes.begin() + init_device_size - 1);
+ ChangeAudioNodes(audio_nodes);
+ cras_audio_handler_->GetAudioDevices(&audio_devices);
+ EXPECT_EQ(init_device_size - 1, audio_devices.size());
+
+ // Verify the background app got the onNodesChanged event
+ // with the last node removed.
+ EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
+}
+
#endif // OS_CHROMEOS
} // namespace extensions
« no previous file with comments | « no previous file | extensions/browser/api/audio/audio_service_chromeos.cc » ('j') | extensions/common/api/audio.idl » ('J')

Powered by Google App Engine
This is Rietveld 408576698