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");
|
o->remove("version");
|
||||||
EXPECT_TRUE(NULL == o->get_property("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