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

Unified Diff: webrtc/libjingle/session/media/mediamessages_unittest.cc

Issue 1175243003: Remove webrtc/libjingle/{examples,session}. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 6 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
Index: webrtc/libjingle/session/media/mediamessages_unittest.cc
diff --git a/webrtc/libjingle/session/media/mediamessages_unittest.cc b/webrtc/libjingle/session/media/mediamessages_unittest.cc
deleted file mode 100644
index 6d8fb4b6d24ea1d29f2575a9bd27bf2755845174..0000000000000000000000000000000000000000
--- a/webrtc/libjingle/session/media/mediamessages_unittest.cc
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
- * libjingle
- * Copyright 2004 Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "webrtc/libjingle/session/media/mediamessages.h"
-
-#include <string>
-#include <vector>
-
-#include "webrtc/p2p/base/constants.h"
-#include "webrtc/libjingle/session/media/mediasessionclient.h"
-#include "webrtc/libjingle/xmllite/xmlelement.h"
-#include "webrtc/base/gunit.h"
-#include "webrtc/base/scoped_ptr.h"
-
-// Unit tests for mediamessages.cc.
-
-namespace cricket {
-
-namespace {
-
-static const char kViewVideoNoneXml[] =
- "<view xmlns='google:jingle'"
- " name='video1'"
- " type='none'"
- "/>";
-
-class MediaMessagesTest : public testing::Test {
- public:
- // CreateMediaSessionDescription uses a static variable cricket::NS_JINGLE_RTP
- // defined in another file and cannot be used to initialize another static
- // variable (http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.14)
- MediaMessagesTest()
- : remote_description_(CreateMediaSessionDescription("audio1", "video1")) {
- }
-
- protected:
- static std::string ViewVideoStaticVgaXml(const std::string& ssrc) {
- return "<view xmlns='google:jingle'"
- " name='video1'"
- " type='static'"
- " ssrc='" + ssrc + "'"
- ">"
- "<params"
- " width='640'"
- " height='480'"
- " framerate='30'"
- " preference='0'"
- " />"
- "</view>";
- }
-
- static cricket::StreamParams CreateStream(const std::string& nick,
- const std::string& name,
- uint32 ssrc1,
- uint32 ssrc2,
- const std::string& semantics,
- const std::string& type,
- const std::string& display) {
- StreamParams stream;
- stream.groupid = nick;
- stream.id = name;
- stream.ssrcs.push_back(ssrc1);
- stream.ssrcs.push_back(ssrc2);
- stream.ssrc_groups.push_back(
- cricket::SsrcGroup(semantics, stream.ssrcs));
- stream.type = type;
- stream.display = display;
- return stream;
- }
-
- static std::string StreamsXml(const std::string& stream1,
- const std::string& stream2) {
- return "<streams xmlns='google:jingle'>"
- + stream1
- + stream2 +
- "</streams>";
- }
-
-
- static std::string StreamXml(const std::string& nick,
- const std::string& name,
- const std::string& ssrc1,
- const std::string& ssrc2,
- const std::string& semantics,
- const std::string& type,
- const std::string& display) {
- return "<stream"
- " nick='" + nick + "'"
- " name='" + name + "'"
- " type='" + type + "'"
- " display='" + display + "'"
- ">"
- "<ssrc>" + ssrc1 + "</ssrc>"
- "<ssrc>" + ssrc2 + "</ssrc>"
- "<ssrc-group"
- " semantics='" + semantics + "'"
- ">"
- "<ssrc>" + ssrc1 + "</ssrc>"
- "<ssrc>" + ssrc2 + "</ssrc>"
- "</ssrc-group>"
- "</stream>";
- }
-
- static std::string HeaderExtensionsXml(const std::string& hdrext1,
- const std::string& hdrext2) {
- return "<rtp:description xmlns:rtp=\"urn:xmpp:jingle:apps:rtp:1\">"
- + hdrext1
- + hdrext2 +
- "</rtp:description>";
- }
-
- static std::string HeaderExtensionXml(const std::string& uri,
- const std::string& id) {
- return "<rtp:rtp-hdrext"
- " uri='" + uri + "'"
- " id='" + id + "'"
- "/>";
- }
-
- static cricket::SessionDescription* CreateMediaSessionDescription(
- const std::string& audio_content_name,
- const std::string& video_content_name) {
- cricket::SessionDescription* desc = new cricket::SessionDescription();
- desc->AddContent(audio_content_name, cricket::NS_JINGLE_RTP,
- new cricket::AudioContentDescription());
- desc->AddContent(video_content_name, cricket::NS_JINGLE_RTP,
- new cricket::VideoContentDescription());
- return desc;
- }
-
- size_t ClearXmlElements(cricket::XmlElements* elements) {
- size_t size = elements->size();
- for (size_t i = 0; i < size; i++) {
- delete elements->at(i);
- }
- elements->clear();
- return size;
- }
-
- rtc::scoped_ptr<cricket::SessionDescription> remote_description_;
-};
-
-} // anonymous namespace
-
-// Test serializing/deserializing an empty <view> message.
-TEST_F(MediaMessagesTest, ViewNoneToFromXml) {
- buzz::XmlElement* expected_view_elem =
- buzz::XmlElement::ForStr(kViewVideoNoneXml);
- rtc::scoped_ptr<buzz::XmlElement> action_elem(
- new buzz::XmlElement(QN_JINGLE));
-
- EXPECT_FALSE(cricket::IsJingleViewRequest(action_elem.get()));
- action_elem->AddElement(expected_view_elem);
- EXPECT_TRUE(cricket::IsJingleViewRequest(action_elem.get()));
-
- cricket::ViewRequest view_request;
- cricket::XmlElements actual_view_elems;
- cricket::WriteError error;
-
- ASSERT_TRUE(cricket::WriteJingleViewRequest(
- "video1", view_request, &actual_view_elems, &error));
-
- ASSERT_EQ(1U, actual_view_elems.size());
- EXPECT_EQ(expected_view_elem->Str(), actual_view_elems[0]->Str());
- ClearXmlElements(&actual_view_elems);
-
- cricket::ParseError parse_error;
- EXPECT_TRUE(cricket::IsJingleViewRequest(action_elem.get()));
- ASSERT_TRUE(cricket::ParseJingleViewRequest(
- action_elem.get(), &view_request, &parse_error));
- EXPECT_EQ(0U, view_request.static_video_views.size());
-}
-
-// Test serializing/deserializing an a simple vga <view> message.
-TEST_F(MediaMessagesTest, ViewVgaToFromXml) {
- rtc::scoped_ptr<buzz::XmlElement> action_elem(
- new buzz::XmlElement(QN_JINGLE));
- buzz::XmlElement* expected_view_elem1 =
- buzz::XmlElement::ForStr(ViewVideoStaticVgaXml("1234"));
- buzz::XmlElement* expected_view_elem2 =
- buzz::XmlElement::ForStr(ViewVideoStaticVgaXml("2468"));
- action_elem->AddElement(expected_view_elem1);
- action_elem->AddElement(expected_view_elem2);
-
- cricket::ViewRequest view_request;
- cricket::XmlElements actual_view_elems;
- cricket::WriteError error;
-
- view_request.static_video_views.push_back(cricket::StaticVideoView(
- cricket::StreamSelector(1234), 640, 480, 30));
- view_request.static_video_views.push_back(cricket::StaticVideoView(
- cricket::StreamSelector(2468), 640, 480, 30));
-
- ASSERT_TRUE(cricket::WriteJingleViewRequest(
- "video1", view_request, &actual_view_elems, &error));
-
- ASSERT_EQ(2U, actual_view_elems.size());
- EXPECT_EQ(expected_view_elem1->Str(), actual_view_elems[0]->Str());
- EXPECT_EQ(expected_view_elem2->Str(), actual_view_elems[1]->Str());
- ClearXmlElements(&actual_view_elems);
-
- view_request.static_video_views.clear();
- cricket::ParseError parse_error;
- EXPECT_TRUE(cricket::IsJingleViewRequest(action_elem.get()));
- ASSERT_TRUE(cricket::ParseJingleViewRequest(
- action_elem.get(), &view_request, &parse_error));
- EXPECT_EQ(2U, view_request.static_video_views.size());
- EXPECT_EQ(1234U, view_request.static_video_views[0].selector.ssrc);
- EXPECT_EQ(640, view_request.static_video_views[0].width);
- EXPECT_EQ(480, view_request.static_video_views[0].height);
- EXPECT_EQ(30, view_request.static_video_views[0].framerate);
- EXPECT_EQ(2468U, view_request.static_video_views[1].selector.ssrc);
-}
-
-// Test deserializing bad view XML.
-TEST_F(MediaMessagesTest, ParseBadViewXml) {
- rtc::scoped_ptr<buzz::XmlElement> action_elem(
- new buzz::XmlElement(QN_JINGLE));
- buzz::XmlElement* view_elem =
- buzz::XmlElement::ForStr(ViewVideoStaticVgaXml("not-an-ssrc"));
- action_elem->AddElement(view_elem);
-
- cricket::ViewRequest view_request;
- cricket::ParseError parse_error;
- ASSERT_FALSE(cricket::ParseJingleViewRequest(
- action_elem.get(), &view_request, &parse_error));
-}
-
-
-// Test serializing/deserializing typical streams xml.
-TEST_F(MediaMessagesTest, StreamsToFromXml) {
- rtc::scoped_ptr<buzz::XmlElement> expected_streams_elem(
- buzz::XmlElement::ForStr(
- StreamsXml(
- StreamXml("nick1", "stream1", "101", "102",
- "semantics1", "type1", "display1"),
- StreamXml("nick2", "stream2", "201", "202",
- "semantics2", "type2", "display2"))));
-
- std::vector<cricket::StreamParams> expected_streams;
- expected_streams.push_back(CreateStream("nick1", "stream1", 101U, 102U,
- "semantics1", "type1", "display1"));
- expected_streams.push_back(CreateStream("nick2", "stream2", 201U, 202U,
- "semantics2", "type2", "display2"));
-
- rtc::scoped_ptr<buzz::XmlElement> actual_desc_elem(
- new buzz::XmlElement(QN_JINGLE_RTP_CONTENT));
- cricket::WriteJingleStreams(expected_streams, actual_desc_elem.get());
-
- const buzz::XmlElement* actual_streams_elem =
- actual_desc_elem->FirstNamed(QN_JINGLE_DRAFT_STREAMS);
- ASSERT_TRUE(actual_streams_elem != NULL);
- EXPECT_EQ(expected_streams_elem->Str(), actual_streams_elem->Str());
-
- rtc::scoped_ptr<buzz::XmlElement> expected_desc_elem(
- new buzz::XmlElement(QN_JINGLE_RTP_CONTENT));
- expected_desc_elem->AddElement(new buzz::XmlElement(
- *expected_streams_elem));
- std::vector<cricket::StreamParams> actual_streams;
- cricket::ParseError parse_error;
-
- EXPECT_TRUE(cricket::HasJingleStreams(expected_desc_elem.get()));
- ASSERT_TRUE(cricket::ParseJingleStreams(
- expected_desc_elem.get(), &actual_streams, &parse_error));
- EXPECT_EQ(2U, actual_streams.size());
- EXPECT_EQ(expected_streams[0], actual_streams[0]);
- EXPECT_EQ(expected_streams[1], actual_streams[1]);
-}
-
-// Test deserializing bad streams xml.
-TEST_F(MediaMessagesTest, StreamsFromBadXml) {
- rtc::scoped_ptr<buzz::XmlElement> streams_elem(
- buzz::XmlElement::ForStr(
- StreamsXml(
- StreamXml("nick1", "name1", "101", "not-an-ssrc",
- "semantics1", "type1", "display1"),
- StreamXml("nick2", "name2", "202", "not-an-ssrc",
- "semantics2", "type2", "display2"))));
- rtc::scoped_ptr<buzz::XmlElement> desc_elem(
- new buzz::XmlElement(QN_JINGLE_RTP_CONTENT));
- desc_elem->AddElement(new buzz::XmlElement(*streams_elem));
-
- std::vector<cricket::StreamParams> actual_streams;
- cricket::ParseError parse_error;
- ASSERT_FALSE(cricket::ParseJingleStreams(
- desc_elem.get(), &actual_streams, &parse_error));
-}
-
-// Test serializing/deserializing typical RTP Header Extension xml.
-TEST_F(MediaMessagesTest, HeaderExtensionsToFromXml) {
- rtc::scoped_ptr<buzz::XmlElement> expected_desc_elem(
- buzz::XmlElement::ForStr(
- HeaderExtensionsXml(
- HeaderExtensionXml("abc", "123"),
- HeaderExtensionXml("def", "456"))));
-
- std::vector<cricket::RtpHeaderExtension> expected_hdrexts;
- expected_hdrexts.push_back(RtpHeaderExtension("abc", 123));
- expected_hdrexts.push_back(RtpHeaderExtension("def", 456));
-
- rtc::scoped_ptr<buzz::XmlElement> actual_desc_elem(
- new buzz::XmlElement(QN_JINGLE_RTP_CONTENT));
- cricket::WriteJingleRtpHeaderExtensions(expected_hdrexts, actual_desc_elem.get());
-
- ASSERT_TRUE(actual_desc_elem != NULL);
- EXPECT_EQ(expected_desc_elem->Str(), actual_desc_elem->Str());
-
- std::vector<cricket::RtpHeaderExtension> actual_hdrexts;
- cricket::ParseError parse_error;
- ASSERT_TRUE(cricket::ParseJingleRtpHeaderExtensions(
- expected_desc_elem.get(), &actual_hdrexts, &parse_error));
- EXPECT_EQ(2U, actual_hdrexts.size());
- EXPECT_EQ(expected_hdrexts[0], actual_hdrexts[0]);
- EXPECT_EQ(expected_hdrexts[1], actual_hdrexts[1]);
-}
-
-// Test deserializing bad RTP header extension xml.
-TEST_F(MediaMessagesTest, HeaderExtensionsFromBadXml) {
- std::vector<cricket::RtpHeaderExtension> actual_hdrexts;
- cricket::ParseError parse_error;
-
- rtc::scoped_ptr<buzz::XmlElement> desc_elem(
- buzz::XmlElement::ForStr(
- HeaderExtensionsXml(
- HeaderExtensionXml("abc", "123"),
- HeaderExtensionXml("def", "not-an-id"))));
- ASSERT_FALSE(cricket::ParseJingleRtpHeaderExtensions(
- desc_elem.get(), &actual_hdrexts, &parse_error));
-
- desc_elem.reset(
- buzz::XmlElement::ForStr(
- HeaderExtensionsXml(
- HeaderExtensionXml("abc", "123"),
- HeaderExtensionXml("def", "-1"))));
- ASSERT_FALSE(cricket::ParseJingleRtpHeaderExtensions(
- desc_elem.get(), &actual_hdrexts, &parse_error));
-}
-
-} // namespace cricket
« no previous file with comments | « webrtc/libjingle/session/media/mediamessages.cc ('k') | webrtc/libjingle/session/media/mediasessionclient.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698