TEST(AMF0Test, EncodeEcmaArray) { AMFEcmaArray val; val.setAssociativeCount(0x1234); QByteArray data = val.serialized(); const char expected[] = { 0x08, // Marker 0x00, 0x00, 0x12, 0x34, 0x00, 0x00, 0x09 // End marker }; ASSERT_EQ(sizeof(expected), data.size()); for(int i = 0; i < data.size(); i++) ASSERT_EQ(expected[i], data[i]); }
TEST(AMF0Test, DecodeEcmaArray) { AMFEcmaArray val; val.setAssociativeCount(0x1234); QByteArray data = val.serialized(); AMFType *out = NULL; uint outSize = AMFType::decode(data.constData(), &out); AMFEcmaArray *outVal = out->asEcmaArray(); ASSERT_FALSE(outVal == NULL); EXPECT_EQ(8, outSize); EXPECT_TRUE(outVal->isEmpty()); EXPECT_EQ(val.getAssociativeCount(), outVal->getAssociativeCount()); delete out; }