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

Unified Diff: webrtc/pc/webrtcsdp_unittest.cc

Issue 2690943011: Use the same draft version in SDP data channel answers as used in the offer. (Closed)
Patch Set: Fix variable names in media session tests and add some comments. Created 3 years, 10 months 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/pc/webrtcsdp.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/pc/webrtcsdp_unittest.cc
diff --git a/webrtc/pc/webrtcsdp_unittest.cc b/webrtc/pc/webrtcsdp_unittest.cc
index 1a6a212cdd9f0f1ad704088594e8e76cbc285575..f5cac8921f3a3fddadf0672f372ce9f2c4713d1d 100644
--- a/webrtc/pc/webrtcsdp_unittest.cc
+++ b/webrtc/pc/webrtcsdp_unittest.cc
@@ -65,6 +65,9 @@ typedef std::vector<AudioCodec> AudioCodecs;
typedef std::vector<Candidate> Candidates;
static const uint32_t kDefaultSctpPort = 5000;
+static const char kDefaultSctpPortStr[] = "5000";
+static const uint16_t kUnusualSctpPort = 9556;
+static const char kUnusualSctpPortStr[] = "9556";
static const char kSessionTime[] = "t=0 0\r\n";
static const uint32_t kCandidatePriority = 2130706432U; // pref = 1.0
static const char kAttributeIceUfragVoice[] = "a=ice-ufrag:ufrag_voice\r\n";
@@ -1210,6 +1213,11 @@ class WebRtcSdpTest : public testing::Test {
}
}
+ void CompareDataContentDescription(const DataContentDescription* dcd1,
+ const DataContentDescription* dcd2) {
+ EXPECT_EQ(dcd1->use_sctpmap(), dcd2->use_sctpmap());
+ CompareMediaContentDescription<DataContentDescription>(dcd1, dcd2);
+ }
void CompareSessionDescription(const SessionDescription& desc1,
const SessionDescription& desc2) {
@@ -1251,7 +1259,7 @@ class WebRtcSdpTest : public testing::Test {
static_cast<const DataContentDescription*>(c1.description);
const DataContentDescription* dcd2 =
static_cast<const DataContentDescription*>(c2.description);
- CompareMediaContentDescription<DataContentDescription>(dcd1, dcd2);
+ CompareDataContentDescription(dcd1, dcd2);
}
}
@@ -1486,9 +1494,10 @@ class WebRtcSdpTest : public testing::Test {
return true;
}
- void AddSctpDataChannel() {
+ void AddSctpDataChannel(bool use_sctpmap) {
std::unique_ptr<DataContentDescription> data(new DataContentDescription());
data_desc_ = data.get();
+ data_desc_->set_use_sctpmap(use_sctpmap);
data_desc_->set_protocol(cricket::kMediaProtocolDtlsSctp);
DataCodec codec(cricket::kGoogleSctpDataCodecPlType,
cricket::kGoogleSctpDataCodecName);
@@ -2058,7 +2067,8 @@ TEST_F(WebRtcSdpTest, SerializeSessionDescriptionWithRtpDataChannel) {
}
TEST_F(WebRtcSdpTest, SerializeSessionDescriptionWithSctpDataChannel) {
- AddSctpDataChannel();
+ bool use_sctpmap = true;
+ AddSctpDataChannel(use_sctpmap);
JsepSessionDescription jsep_desc(kDummyString);
ASSERT_TRUE(jsep_desc.Initialize(desc_.Copy(), kSessionId, kSessionVersion));
@@ -2070,7 +2080,8 @@ TEST_F(WebRtcSdpTest, SerializeSessionDescriptionWithSctpDataChannel) {
}
TEST_F(WebRtcSdpTest, SerializeWithSctpDataChannelAndNewPort) {
- AddSctpDataChannel();
+ bool use_sctpmap = true;
+ AddSctpDataChannel(use_sctpmap);
JsepSessionDescription jsep_desc(kDummyString);
ASSERT_TRUE(jsep_desc.Initialize(desc_.Copy(), kSessionId, kSessionVersion));
@@ -2570,7 +2581,8 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithRtpDataChannels) {
}
TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannels) {
- AddSctpDataChannel();
+ bool use_sctpmap = true;
+ AddSctpDataChannel(use_sctpmap);
JsepSessionDescription jdesc(kDummyString);
ASSERT_TRUE(jdesc.Initialize(desc_.Copy(), kSessionId, kSessionVersion));
@@ -2596,7 +2608,8 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannels) {
}
TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelsWithSctpPort) {
- AddSctpDataChannel();
+ bool use_sctpmap = false;
+ AddSctpDataChannel(use_sctpmap);
JsepSessionDescription jdesc(kDummyString);
ASSERT_TRUE(jdesc.Initialize(desc_.Copy(), kSessionId, kSessionVersion));
@@ -2622,7 +2635,8 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelsWithSctpPort) {
}
TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelsWithSctpColonPort) {
- AddSctpDataChannel();
+ bool use_sctpmap = false;
+ AddSctpDataChannel(use_sctpmap);
JsepSessionDescription jdesc(kDummyString);
ASSERT_TRUE(jdesc.Initialize(desc_.Copy(), kSessionId, kSessionVersion));
@@ -2650,7 +2664,8 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelsWithSctpColonPort) {
// Test to check the behaviour if sctp-port is specified
// on the m= line and in a=sctp-port.
TEST_F(WebRtcSdpTest, DeserializeSdpWithMultiSctpPort) {
- AddSctpDataChannel();
+ bool use_sctpmap = true;
+ AddSctpDataChannel(use_sctpmap);
JsepSessionDescription jdesc(kDummyString);
ASSERT_TRUE(jdesc.Initialize(desc_.Copy(), kSessionId, kSessionVersion));
@@ -2676,20 +2691,10 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithCorruptedSctpDataChannels) {
// No crash is a pass.
}
-TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelAndNewPort) {
- AddSctpDataChannel();
- const uint16_t kUnusualSctpPort = 9556;
- char default_portstr[16];
- char unusual_portstr[16];
- rtc::sprintfn(default_portstr, sizeof(default_portstr), "%d",
- kDefaultSctpPort);
- rtc::sprintfn(unusual_portstr, sizeof(unusual_portstr), "%d",
- kUnusualSctpPort);
-
- // First setup the expected JsepSessionDescription.
- JsepSessionDescription jdesc(kDummyString);
+void MutateJsepSctpPort(JsepSessionDescription& jdesc,
+ const SessionDescription& desc) {
// take our pre-built session description and change the SCTP port.
- cricket::SessionDescription* mutant = desc_.Copy();
+ cricket::SessionDescription* mutant = desc.Copy();
DataContentDescription* dcdesc = static_cast<DataContentDescription*>(
mutant->GetContentDescriptionByName(kDataContentName));
std::vector<cricket::DataCodec> codecs(dcdesc->codecs());
@@ -2701,27 +2706,46 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelAndNewPort) {
// note: mutant's owned by jdesc now.
ASSERT_TRUE(jdesc.Initialize(mutant, kSessionId, kSessionVersion));
mutant = NULL;
+}
+
+TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelAndUnusualPort) {
+ bool use_sctpmap = true;
+ AddSctpDataChannel(use_sctpmap);
+
+ // First setup the expected JsepSessionDescription.
+ JsepSessionDescription jdesc(kDummyString);
+ MutateJsepSctpPort(jdesc, desc_);
// Then get the deserialized JsepSessionDescription.
std::string sdp_with_data = kSdpString;
sdp_with_data.append(kSdpSctpDataChannelString);
- rtc::replace_substrs(default_portstr, strlen(default_portstr),
- unusual_portstr, strlen(unusual_portstr),
- &sdp_with_data);
+ rtc::replace_substrs(kDefaultSctpPortStr, strlen(kDefaultSctpPortStr),
+ kUnusualSctpPortStr, strlen(kUnusualSctpPortStr),
+ &sdp_with_data);
JsepSessionDescription jdesc_output(kDummyString);
EXPECT_TRUE(SdpDeserialize(sdp_with_data, &jdesc_output));
EXPECT_TRUE(CompareSessionDescription(jdesc, jdesc_output));
+}
+
+TEST_F(WebRtcSdpTest,
+ DeserializeSdpWithSctpDataChannelAndUnusualPortInAttribute) {
+ bool use_sctpmap = false;
+ AddSctpDataChannel(use_sctpmap);
+
+ JsepSessionDescription jdesc(kDummyString);
+ MutateJsepSctpPort(jdesc, desc_);
// We need to test the deserialized JsepSessionDescription from
// kSdpSctpDataChannelStringWithSctpPort for
// draft-ietf-mmusic-sctp-sdp-07
// a=sctp-port
- sdp_with_data = kSdpString;
+ std::string sdp_with_data = kSdpString;
sdp_with_data.append(kSdpSctpDataChannelStringWithSctpPort);
- rtc::replace_substrs(default_portstr, strlen(default_portstr),
- unusual_portstr, strlen(unusual_portstr),
- &sdp_with_data);
+ rtc::replace_substrs(kDefaultSctpPortStr, strlen(kDefaultSctpPortStr),
+ kUnusualSctpPortStr, strlen(kUnusualSctpPortStr),
+ &sdp_with_data);
+ JsepSessionDescription jdesc_output(kDummyString);
EXPECT_TRUE(SdpDeserialize(sdp_with_data, &jdesc_output));
EXPECT_TRUE(CompareSessionDescription(jdesc, jdesc_output));
@@ -2744,7 +2768,8 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithRtpDataChannelsAndBandwidth) {
}
TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelsAndBandwidth) {
- AddSctpDataChannel();
+ bool use_sctpmap = true;
+ AddSctpDataChannel(use_sctpmap);
JsepSessionDescription jdesc(kDummyString);
DataContentDescription* dcd = static_cast<DataContentDescription*>(
GetFirstDataContent(&desc_)->description);
« no previous file with comments | « webrtc/pc/webrtcsdp.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698