Index: webrtc/media/engine/webrtcvoiceengine_unittest.cc |
diff --git a/webrtc/media/engine/webrtcvoiceengine_unittest.cc b/webrtc/media/engine/webrtcvoiceengine_unittest.cc |
index 1e23d381cd1ca7298c3ed9d21da840910f418d6f..d3df65cbd877d31ac088230cb524cb027956bef3 100644 |
--- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc |
+++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc |
@@ -3159,6 +3159,29 @@ TEST_F(WebRtcVoiceEngineTestFake, SetRawAudioSinkDefaultRecvStream) { |
EXPECT_NE(nullptr, GetRecvStream(0x01).sink()); |
} |
+// Test that, just like the video channel, the voice channel communicates the |
+// network state to the call. |
+TEST_F(WebRtcVoiceEngineTestFake, OnReadyToSendSignalsNetworkState) { |
+ EXPECT_TRUE(SetupEngine()); |
+ |
+ EXPECT_EQ(webrtc::ChannelNetworkState::CHANNEL_NETWORK_UP, |
+ call_.GetNetworkState(webrtc::MediaType::AUDIO)); |
+ EXPECT_EQ(webrtc::ChannelNetworkState::CHANNEL_NOT_PRESENT, |
+ call_.GetNetworkState(webrtc::MediaType::VIDEO)); |
+ |
+ channel_->OnReadyToSend(false); |
+ EXPECT_EQ(webrtc::ChannelNetworkState::CHANNEL_NETWORK_DOWN, |
+ call_.GetNetworkState(webrtc::MediaType::AUDIO)); |
+ EXPECT_EQ(webrtc::ChannelNetworkState::CHANNEL_NOT_PRESENT, |
+ call_.GetNetworkState(webrtc::MediaType::VIDEO)); |
+ |
+ channel_->OnReadyToSend(true); |
+ EXPECT_EQ(webrtc::ChannelNetworkState::CHANNEL_NETWORK_UP, |
+ call_.GetNetworkState(webrtc::MediaType::AUDIO)); |
+ EXPECT_EQ(webrtc::ChannelNetworkState::CHANNEL_NOT_PRESENT, |
+ call_.GetNetworkState(webrtc::MediaType::VIDEO)); |
+} |
+ |
// Tests that the library initializes and shuts down properly. |
TEST(WebRtcVoiceEngineTest, StartupShutdown) { |
cricket::WebRtcVoiceEngine engine; |