|
|
|
@ -1049,3 +1049,71 @@ VOID TEST(AMF0Test, ApiEcmaArrayProps)
|
|
|
|
|
EXPECT_EQ(2, o->count());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
VOID TEST(AMF0Test, ApiStrictArray)
|
|
|
|
|
{
|
|
|
|
|
SrsStream s;
|
|
|
|
|
|
|
|
|
|
char buf[1024];
|
|
|
|
|
memset(buf, 0, sizeof(buf));
|
|
|
|
|
EXPECT_EQ(ERROR_SUCCESS, s.initialize(buf, sizeof(buf)));
|
|
|
|
|
|
|
|
|
|
SrsAmf0StrictArray* o = NULL;
|
|
|
|
|
|
|
|
|
|
// append property
|
|
|
|
|
if (true) {
|
|
|
|
|
o = SrsAmf0Any::strict_array();
|
|
|
|
|
SrsAutoFree(SrsAmf0StrictArray, o);
|
|
|
|
|
|
|
|
|
|
o->append(SrsAmf0Any::number(100));
|
|
|
|
|
EXPECT_DOUBLE_EQ(100, o->at(0)->to_number());
|
|
|
|
|
|
|
|
|
|
o->append(SrsAmf0Any::number(101));
|
|
|
|
|
EXPECT_DOUBLE_EQ(101, o->at(1)->to_number());
|
|
|
|
|
|
|
|
|
|
o->append(SrsAmf0Any::str("winlin"));
|
|
|
|
|
EXPECT_STREQ("winlin", o->at(2)->to_str().c_str());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// count
|
|
|
|
|
if (true) {
|
|
|
|
|
o = SrsAmf0Any::strict_array();
|
|
|
|
|
SrsAutoFree(SrsAmf0StrictArray, o);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, o->count());
|
|
|
|
|
|
|
|
|
|
o->append(SrsAmf0Any::boolean());
|
|
|
|
|
EXPECT_EQ(1, o->count());
|
|
|
|
|
|
|
|
|
|
o->append(SrsAmf0Any::boolean());
|
|
|
|
|
EXPECT_EQ(2, o->count());
|
|
|
|
|
|
|
|
|
|
o->clear();
|
|
|
|
|
EXPECT_EQ(0, o->count());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// io
|
|
|
|
|
if (true) {
|
|
|
|
|
o = SrsAmf0Any::strict_array();
|
|
|
|
|
SrsAutoFree(SrsAmf0StrictArray, o);
|
|
|
|
|
|
|
|
|
|
s.reset();
|
|
|
|
|
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
|
|
|
|
|
EXPECT_EQ(5, s.pos());
|
|
|
|
|
|
|
|
|
|
s.reset();
|
|
|
|
|
EXPECT_EQ(0x0a, s.read_1bytes());
|
|
|
|
|
EXPECT_EQ(0x00, s.read_4bytes());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
|
o = SrsAmf0Any::strict_array();
|
|
|
|
|
SrsAutoFree(SrsAmf0StrictArray, o);
|
|
|
|
|
|
|
|
|
|
o->append(SrsAmf0Any::number(0));
|
|
|
|
|
|
|
|
|
|
s.reset();
|
|
|
|
|
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
|
|
|
|
|
EXPECT_EQ(5 + SrsAmf0Size::number(), s.pos());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|