mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Cover AMF0 codec. 3.0.61
This commit is contained in:
parent
b2e4a5f834
commit
9d1249e256
1 changed files with 140 additions and 0 deletions
|
@ -487,6 +487,68 @@ VOID TEST(ProtocolAMF0Test, InterfacesObject2)
|
|||
|
||||
o->remove("version");
|
||||
EXPECT_TRUE(NULL == o->get_property("version"));
|
||||
|
||||
char* s = p->human_print(NULL, NULL);
|
||||
EXPECT_TRUE(s != NULL);
|
||||
srs_freepa(s);
|
||||
}
|
||||
|
||||
if (true) {
|
||||
SrsAmf0Any* p = SrsAmf0Any::strict_array();
|
||||
SrsAutoFree(SrsAmf0Any, p);
|
||||
|
||||
SrsAmf0StrictArray* o = p->to_strict_array();
|
||||
EXPECT_TRUE(NULL != o);
|
||||
|
||||
o->append(SrsAmf0Any::number(3.0));
|
||||
o->append(SrsAmf0Any::str("srs"));
|
||||
|
||||
SrsAmf0Any* prop = o->at(0);
|
||||
EXPECT_TRUE(prop->is_number());
|
||||
EXPECT_TRUE(3.0 == prop->to_number());
|
||||
|
||||
prop = o->at(0);
|
||||
EXPECT_TRUE(NULL != prop);
|
||||
|
||||
prop = o->at(1);
|
||||
EXPECT_TRUE(NULL != prop);
|
||||
|
||||
char* s = p->human_print(NULL, NULL);
|
||||
EXPECT_TRUE(s != NULL);
|
||||
srs_freepa(s);
|
||||
}
|
||||
|
||||
if (true) {
|
||||
SrsAmf0Any* p = SrsAmf0Any::ecma_array();
|
||||
SrsAutoFree(SrsAmf0Any, p);
|
||||
|
||||
SrsAmf0EcmaArray* o = p->to_ecma_array();
|
||||
EXPECT_TRUE(NULL != o);
|
||||
|
||||
o->set("version", SrsAmf0Any::number(3.0));
|
||||
o->set("name", SrsAmf0Any::str("srs"));
|
||||
|
||||
EXPECT_TRUE(string("version") == o->key_at(0));
|
||||
EXPECT_STREQ("version", o->key_raw_at(0));
|
||||
EXPECT_TRUE(string("name") == o->key_at(1));
|
||||
|
||||
SrsAmf0Any* prop = o->get_property("version");
|
||||
EXPECT_TRUE(prop->is_number());
|
||||
EXPECT_TRUE(3.0 == prop->to_number());
|
||||
|
||||
prop = o->ensure_property_number("version");
|
||||
EXPECT_TRUE(NULL != prop);
|
||||
|
||||
prop = o->ensure_property_string("name");
|
||||
EXPECT_TRUE(NULL != prop);
|
||||
|
||||
prop = o->value_at(1);
|
||||
EXPECT_TRUE(NULL != prop);
|
||||
EXPECT_TRUE(prop->is_string());
|
||||
|
||||
char* s = p->human_print(NULL, NULL);
|
||||
EXPECT_TRUE(s != NULL);
|
||||
srs_freepa(s);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -641,3 +703,81 @@ VOID TEST(ProtocolAMF0Test, InterfacesOthers)
|
|||
}
|
||||
}
|
||||
|
||||
VOID TEST(ProtocolAMF0Test, InterfacesError)
|
||||
{
|
||||
srs_error_t err;
|
||||
|
||||
if (true) {
|
||||
SrsBuffer b;
|
||||
HELPER_EXPECT_FAILED(SrsAmf0Any::discovery(&b, NULL));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
char data = 0x3f;
|
||||
SrsBuffer b(&data, 1);
|
||||
HELPER_EXPECT_FAILED(SrsAmf0Any::discovery(&b, NULL));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
SrsAmf0Object* o = SrsAmf0Any::object();
|
||||
SrsAutoFree(SrsAmf0Object, o);
|
||||
|
||||
o->set("name", SrsAmf0Any::number(3.0));
|
||||
o->set("name", SrsAmf0Any::str("srs"));
|
||||
|
||||
SrsAmf0Any* prop;
|
||||
prop = o->ensure_property_number("name");
|
||||
EXPECT_TRUE(prop == NULL);
|
||||
|
||||
prop = o->ensure_property_string("id");
|
||||
EXPECT_TRUE(prop == NULL);
|
||||
|
||||
prop = o->ensure_property_string("name");
|
||||
ASSERT_TRUE(prop != NULL);
|
||||
EXPECT_STREQ("srs", prop->to_str_raw());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
SrsAmf0Object* o = SrsAmf0Any::object();
|
||||
SrsAutoFree(SrsAmf0Object, o);
|
||||
|
||||
o->set("name", SrsAmf0Any::str("srs"));
|
||||
o->set("name", SrsAmf0Any::number(3.0));
|
||||
|
||||
SrsAmf0Any* prop;
|
||||
prop = o->ensure_property_number("id");
|
||||
EXPECT_TRUE(prop == NULL);
|
||||
|
||||
prop = o->ensure_property_string("name");
|
||||
EXPECT_TRUE(prop == NULL);
|
||||
|
||||
prop = o->ensure_property_number("name");
|
||||
ASSERT_TRUE(prop != NULL);
|
||||
EXPECT_TRUE(3.0 == prop->to_number());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
SrsAmf0Object* src = SrsAmf0Any::object();
|
||||
SrsAutoFree(SrsAmf0Object, src);
|
||||
|
||||
SrsAmf0Any* cp = src->copy();
|
||||
SrsAutoFree(SrsAmf0Any, cp);
|
||||
|
||||
SrsAmf0Object* o = cp->to_object();
|
||||
|
||||
o->set("name", SrsAmf0Any::str("srs"));
|
||||
o->set("name", SrsAmf0Any::number(3.0));
|
||||
|
||||
SrsAmf0Any* prop;
|
||||
prop = o->ensure_property_number("id");
|
||||
EXPECT_TRUE(prop == NULL);
|
||||
|
||||
prop = o->ensure_property_string("name");
|
||||
EXPECT_TRUE(prop == NULL);
|
||||
|
||||
prop = o->ensure_property_number("name");
|
||||
ASSERT_TRUE(prop != NULL);
|
||||
EXPECT_TRUE(3.0 == prop->to_number());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue