diff options
Diffstat (limited to 'Swiften/Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp')
-rw-r--r-- | Swiften/Serializer/PayloadSerializers/UnitTest/JingleSerializersTest.cpp | 39 |
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; }; |