winlin

amf0 utest: finish amf0 any read/write utest

@@ -599,4 +599,60 @@ VOID TEST(AMF0Test, AnyIO) @@ -599,4 +599,60 @@ VOID TEST(AMF0Test, AnyIO)
599 SrsAutoFree(SrsAmf0Any, po, false); 599 SrsAutoFree(SrsAmf0Any, po, false);
600 ASSERT_TRUE(po->is_undefined()); 600 ASSERT_TRUE(po->is_undefined());
601 } 601 }
  602 +
  603 + // mixed any
  604 + if (true) {
  605 + s.reset();
  606 +
  607 + o = SrsAmf0Any::str("winlin");
  608 + EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
  609 + srs_freep(o);
  610 +
  611 + o = SrsAmf0Any::number(10);
  612 + EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
  613 + srs_freep(o);
  614 +
  615 + o = SrsAmf0Any::boolean(true);
  616 + EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
  617 + srs_freep(o);
  618 +
  619 + o = SrsAmf0Any::null();
  620 + EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
  621 + srs_freep(o);
  622 +
  623 + o = SrsAmf0Any::undefined();
  624 + EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
  625 + srs_freep(o);
  626 +
  627 + s.reset();
  628 + SrsAmf0Any* po = NULL;
  629 +
  630 + EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
  631 + ASSERT_TRUE(NULL != po);
  632 + ASSERT_TRUE(po->is_string());
  633 + EXPECT_STREQ("winlin", po->to_str().c_str());
  634 + srs_freep(po);
  635 +
  636 + EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
  637 + ASSERT_TRUE(NULL != po);
  638 + ASSERT_TRUE(po->is_number());
  639 + EXPECT_DOUBLE_EQ(10, po->to_number());
  640 + srs_freep(po);
  641 +
  642 + EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
  643 + ASSERT_TRUE(NULL != po);
  644 + ASSERT_TRUE(po->is_boolean());
  645 + EXPECT_TRUE(po->to_boolean());
  646 + srs_freep(po);
  647 +
  648 + EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
  649 + ASSERT_TRUE(NULL != po);
  650 + ASSERT_TRUE(po->is_null());
  651 + srs_freep(po);
  652 +
  653 + EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
  654 + ASSERT_TRUE(NULL != po);
  655 + ASSERT_TRUE(po->is_undefined());
  656 + srs_freep(po);
  657 + }
602 } 658 }