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

Unified Diff: webrtc/api/datachannel_unittest.cc

Issue 2472113002: Correct stats for RTCPeerConnectionStats.dataChannels[Opened/Closed]. (Closed)
Patch Set: Addressed deadbeef's comments Created 4 years, 1 month 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
« no previous file with comments | « webrtc/api/datachannel.cc ('k') | webrtc/api/peerconnection.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/api/datachannel_unittest.cc
diff --git a/webrtc/api/datachannel_unittest.cc b/webrtc/api/datachannel_unittest.cc
index 773e7523e6c7e8be85c6abd81f9c3a95df052a7b..a8c8361cb1e1295d8aaa4905059d365a15dfa2e2 100644
--- a/webrtc/api/datachannel_unittest.cc
+++ b/webrtc/api/datachannel_unittest.cc
@@ -94,6 +94,24 @@ class SctpDataChannelTest : public testing::Test {
rtc::scoped_refptr<DataChannel> webrtc_data_channel_;
};
+class StateSignalsListener : public sigslot::has_slots<> {
+ public:
+ int opened_count() const { return opened_count_; }
+ int closed_count() const { return closed_count_; }
+
+ void OnSignalOpened(DataChannel* data_channel) {
+ ++opened_count_;
+ }
+
+ void OnSignalClosed(DataChannel* data_channel) {
+ ++closed_count_;
+ }
+
+ private:
+ int opened_count_ = 0;
+ int closed_count_ = 0;
+};
+
// Verifies that the data channel is connected to the transport after creation.
TEST_F(SctpDataChannelTest, ConnectedToTransportOnCreated) {
provider_->set_transport_available(true);
@@ -122,14 +140,25 @@ TEST_F(SctpDataChannelTest, ConnectedAfterTransportBecomesAvailable) {
// Tests the state of the data channel.
TEST_F(SctpDataChannelTest, StateTransition) {
+ StateSignalsListener state_signals_listener;
+ webrtc_data_channel_->SignalOpened.connect(
+ &state_signals_listener, &StateSignalsListener::OnSignalOpened);
+ webrtc_data_channel_->SignalClosed.connect(
+ &state_signals_listener, &StateSignalsListener::OnSignalClosed);
EXPECT_EQ(webrtc::DataChannelInterface::kConnecting,
webrtc_data_channel_->state());
+ EXPECT_EQ(state_signals_listener.opened_count(), 0);
+ EXPECT_EQ(state_signals_listener.closed_count(), 0);
SetChannelReady();
EXPECT_EQ(webrtc::DataChannelInterface::kOpen, webrtc_data_channel_->state());
+ EXPECT_EQ(state_signals_listener.opened_count(), 1);
+ EXPECT_EQ(state_signals_listener.closed_count(), 0);
webrtc_data_channel_->Close();
EXPECT_EQ(webrtc::DataChannelInterface::kClosed,
webrtc_data_channel_->state());
+ EXPECT_EQ(state_signals_listener.opened_count(), 1);
+ EXPECT_EQ(state_signals_listener.closed_count(), 1);
// Verifies that it's disconnected from the transport.
EXPECT_FALSE(provider_->IsConnected(webrtc_data_channel_.get()));
}
« no previous file with comments | « webrtc/api/datachannel.cc ('k') | webrtc/api/peerconnection.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698