diff --git a/trunk/src/core/srs_core.hpp b/trunk/src/core/srs_core.hpp index 3dd549262..5a8617454 100644 --- a/trunk/src/core/srs_core.hpp +++ b/trunk/src/core/srs_core.hpp @@ -27,7 +27,7 @@ // The version config. #define VERSION_MAJOR 3 #define VERSION_MINOR 0 -#define VERSION_REVISION 60 +#define VERSION_REVISION 62 // The macros generated by configure script. #include diff --git a/trunk/src/protocol/srs_protocol_json.cpp b/trunk/src/protocol/srs_protocol_json.cpp index 8565ae263..2465dea93 100644 --- a/trunk/src/protocol/srs_protocol_json.cpp +++ b/trunk/src/protocol/srs_protocol_json.cpp @@ -1585,7 +1585,7 @@ string SrsJsonAny::dumps() case SRS_JSON_Number: { // len(max int64_t) is 20, plus one "+-." char tmp[22]; - snprintf(tmp, 22, "%.6f", to_number()); + snprintf(tmp, 22, "%.2f", to_number()); return tmp; } case SRS_JSON_Null: { diff --git a/trunk/src/utest/srs_utest_amf0.cpp b/trunk/src/utest/srs_utest_amf0.cpp index 5f6efbf6e..e2e19e69b 100644 --- a/trunk/src/utest/srs_utest_amf0.cpp +++ b/trunk/src/utest/srs_utest_amf0.cpp @@ -2493,3 +2493,73 @@ VOID TEST(ProtocolAMF0Test, Amf0Object2) } } +VOID TEST(ProtocolJSONTest, Interfaces) +{ + if (true) { + SrsJsonAny* p = SrsJsonAny::str(); + EXPECT_TRUE(p->is_string()); + EXPECT_TRUE(p->to_str().empty()); + srs_freep(p); + } + + if (true) { + SrsJsonAny* p = SrsJsonAny::str("hello"); + EXPECT_TRUE(p->is_string()); + EXPECT_TRUE(string("hello") == p->to_str()); + srs_freep(p); + } + + if (true) { + SrsJsonAny* p = SrsJsonAny::str("hello", 2); + EXPECT_TRUE(p->is_string()); + EXPECT_TRUE(string("he") == p->to_str()); + srs_freep(p); + } +} + +VOID TEST(ProtocolJSONTest, Dumps) +{ + if (true) { + SrsJsonAny* p = SrsJsonAny::str("hello"); + EXPECT_TRUE(p->is_string()); + EXPECT_STREQ("\"hello\"", p->dumps().c_str()); + srs_freep(p); + } + + if (true) { + SrsJsonAny* p = SrsJsonAny::boolean(true); + EXPECT_STREQ("true", p->dumps().c_str()); + srs_freep(p); + } + + if (true) { + SrsJsonAny* p = SrsJsonAny::integer(3); + EXPECT_STREQ("3", p->dumps().c_str()); + srs_freep(p); + } + + if (true) { + SrsJsonAny* p = SrsJsonAny::number(3.1); + EXPECT_STREQ("3.10", p->dumps().c_str()); + srs_freep(p); + } + + if (true) { + SrsJsonAny* p = SrsJsonAny::null(); + EXPECT_STREQ("null", p->dumps().c_str()); + srs_freep(p); + } + + if (true) { + SrsJsonObject* p = SrsJsonAny::object(); + EXPECT_STREQ("{}", p->dumps().c_str()); + srs_freep(p); + } + + if (true) { + SrsJsonArray* p = SrsJsonAny::array(); + EXPECT_STREQ("[]", p->dumps().c_str()); + srs_freep(p); + } +} +