Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2014-06-07 20:01:11 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
5a06909d75a22dd2728f9cf5e9870020f2a05195
5a06909d
1 parent
373f9255
update amf0 strict array test, fix bug of count zero init
显示空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
69 行增加
和
0 行删除
trunk/src/rtmp/srs_protocol_amf0.cpp
trunk/src/utest/srs_utest_amf0.cpp
trunk/src/rtmp/srs_protocol_amf0.cpp
查看文件 @
5a06909
...
...
@@ -1037,6 +1037,7 @@ SrsAmf0Any* SrsAmf0EcmaArray::ensure_property_number(string name)
SrsAmf0StrictArray
::
SrsAmf0StrictArray
()
{
marker
=
RTMP_AMF0_StrictArray
;
_count
=
0
;
}
SrsAmf0StrictArray
::~
SrsAmf0StrictArray
()
...
...
trunk/src/utest/srs_utest_amf0.cpp
查看文件 @
5a06909
...
...
@@ -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
());
}
}
...
...
请
注册
或
登录
后发表评论