From aee704fd1f4eaa802193e62193e51dcf8a4a5651 Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 22 Oct 2019 08:30:46 +0800 Subject: [PATCH] Cover AMF0 codec. 3.0.61 --- trunk/src/utest/srs_utest_amf0.cpp | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/trunk/src/utest/srs_utest_amf0.cpp b/trunk/src/utest/srs_utest_amf0.cpp index 74241565d..5f6efbf6e 100644 --- a/trunk/src/utest/srs_utest_amf0.cpp +++ b/trunk/src/utest/srs_utest_amf0.cpp @@ -1341,6 +1341,14 @@ VOID TEST(ProtocolAMF0Test, InterfacesString) srs_freep(o); } + if (true) { + uint8_t data[] = {0x00, 0x00, 0x00}; + SrsBuffer b((char*)data, sizeof(data)); + SrsAmf0Any* o = SrsAmf0Any::str(); + HELPER_EXPECT_SUCCESS(o->write(&b)); + srs_freep(o); + } + if (true) { SrsBuffer b; SrsAmf0Any* o = SrsAmf0Any::str(); @@ -1372,6 +1380,14 @@ VOID TEST(ProtocolAMF0Test, InterfacesString) srs_freep(o); } + if (true) { + uint8_t data[] = {0x02, 0x00, 0x00}; + SrsBuffer b((char*)data, sizeof(data)); + SrsAmf0Any* o = SrsAmf0Any::str(); + HELPER_EXPECT_SUCCESS(o->read(&b)); + srs_freep(o); + } + if (true) { uint8_t data[] = {0x02, 0x00, 0x01}; SrsBuffer b((char*)data, sizeof(data)); @@ -1460,6 +1476,14 @@ VOID TEST(ProtocolAMF0Test, InterfacesBoolean) HELPER_EXPECT_FAILED(o->read(&b)); srs_freep(o); } + + if (true) { + uint8_t data[] = {0x00}; + SrsBuffer b((char*)data, sizeof(data)); + SrsAmf0Any* o = SrsAmf0Any::boolean(); + HELPER_EXPECT_FAILED(o->read(&b)); + srs_freep(o); + } } VOID TEST(ProtocolAMF0Test, InterfacesNumber) @@ -1549,6 +1573,14 @@ VOID TEST(ProtocolAMF0Test, InterfacesNumber) HELPER_EXPECT_FAILED(o->read(&b)); srs_freep(o); } + + if (true) { + uint8_t data[] = {0x01}; + SrsBuffer b((char*)data, sizeof(data)); + SrsAmf0Any* o = SrsAmf0Any::number(); + HELPER_EXPECT_FAILED(o->read(&b)); + srs_freep(o); + } } VOID TEST(ProtocolAMF0Test, InterfacesDate) @@ -2385,6 +2417,8 @@ VOID TEST(ProtocolAMF0Test, InterfacesError) VOID TEST(ProtocolAMF0Test, Amf0Object2) { + srs_error_t err; + if (true) { SrsAmf0Object* o = SrsAmf0Any::object(); o->set("id", SrsAmf0Any::number(3.0)); @@ -2434,5 +2468,28 @@ VOID TEST(ProtocolAMF0Test, Amf0Object2) srs_freep(j); srs_freep(o); } + + if (true) { + SrsAmf0Any* p = SrsAmf0Any::null(); + SrsAmf0Any* cp = p->copy(); + EXPECT_TRUE(cp->is_null()); + srs_freep(cp); + srs_freep(p); + } + + if (true) { + SrsAmf0Any* p = SrsAmf0Any::undefined(); + SrsAmf0Any* cp = p->copy(); + EXPECT_TRUE(cp->is_undefined()); + srs_freep(cp); + srs_freep(p); + } + + if (true) { + SrsBuffer b; + SrsAmf0Any* eof = SrsAmf0Any::object_eof(); + HELPER_EXPECT_FAILED(srs_amf0_write_object_eof(&b, (SrsAmf0ObjectEOF*)eof)); + srs_freep(eof); + } }