summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp')
-rw-r--r--Swiften/Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/Swiften/Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp b/Swiften/Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp
index e3ec8fc..a1526fc 100644
--- a/Swiften/Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp
+++ b/Swiften/Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp
@@ -14,6 +14,7 @@
#include <Swiften/Serializer/PayloadSerializers/StreamInitiationFileInfoSerializer.h>
#include <Swiften/Serializer/PayloadSerializers/JinglePayloadSerializer.h>
#include <Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h>
+#include <Swiften/Serializer/PayloadSerializers/RTPPayloadTypeSerializer.h>
#include <Swiften/Elements/JingleFileTransferDescription.h>
#include <Swiften/Elements/StreamInitiationFileInfo.h>
#include <Swiften/Elements/JingleIBBTransportPayload.h>
@@ -21,12 +22,14 @@
#include <Swiften/Elements/JingleFileTransferHash.h>
#include <Swiften/Elements/JinglePayload.h>
#include <Swiften/Elements/JingleFileTransferReceived.h>
+#include <Swiften/Elements/RTPPayloadType.h>
#include <Swiften/Base/DateTime.h>
using namespace Swift;
class JingleSerializersTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(JingleSerializersTest);
+
CPPUNIT_TEST(testSerialize_StreamInitiationFileInfo);
CPPUNIT_TEST(testSerialize_StreamInitiationFileInfoRange);
@@ -43,6 +46,9 @@ class JingleSerializersTest : public CppUnit::TestFixture {
CPPUNIT_TEST(testSerialize_Xep0260_Example1);
+ CPPUNIT_TEST(testSerialize_RTPPayloadType_Simple);
+ CPPUNIT_TEST(testSerialize_RTPPayloadType_WithSub);
+
CPPUNIT_TEST_SUITE_END();
boost::shared_ptr<JinglePayloadSerializer> createTestling() {
@@ -504,6 +510,39 @@ class JingleSerializersTest : public CppUnit::TestFixture {
CPPUNIT_ASSERT_EQUAL(expected, createTestling()->serialize(payload));
}
+ void testSerialize_RTPPayloadType_Simple() {
+ std::string expected = "<payload-type clockrate=\"16000\" id=\"96\" name=\"speex\"/>";
+
+ RTPPayloadType::ref payloadType = boost::make_shared<RTPPayloadType>(96);
+ payloadType->setName("speex");
+ payloadType->setClockrate(16000);
+
+ boost::shared_ptr<RTPPayloadTypeSerializer> serializer = boost::make_shared<RTPPayloadTypeSerializer>();
+ CPPUNIT_ASSERT_EQUAL(expected, serializer->serializePayload(payloadType));
+ }
+
+ void testSerialize_RTPPayloadType_WithSub() {
+ std::string expected = "<payload-type clockrate=\"90000\" id=\"98\" name=\"theora\">"
+ "<parameter name=\"configuration\" value=\"somebase16string\"/>"
+ "<parameter name=\"delivery-method\" value=\"inline\"/>"
+ "<parameter name=\"height\" value=\"600\"/>"
+ "<parameter name=\"sampling\" value=\"YCbCr-4:2:2\"/>"
+ "<parameter name=\"width\" value=\"800\"/>"
+ "</payload-type>";
+
+ RTPPayloadType::ref payloadType = boost::make_shared<RTPPayloadType>(98);
+ payloadType->setName("theora");
+ payloadType->setClockrate(90000);
+ payloadType->addParameter("height", "600");
+ payloadType->addParameter("width", "800");
+ payloadType->addParameter("delivery-method", "inline");
+ payloadType->addParameter("configuration", "somebase16string");
+ payloadType->addParameter("sampling", "YCbCr-4:2:2");
+
+ boost::shared_ptr<RTPPayloadTypeSerializer> serializer = boost::make_shared<RTPPayloadTypeSerializer>();
+ CPPUNIT_ASSERT_EQUAL(expected, serializer->serializePayload(payloadType));
+ }
+
private:
FullPayloadSerializerCollection collection;
};