MCPcopy Create free account
hub / github.com/AOMediaCodec/libavif / TEST

Function TEST

tests/gtest/avifstreamtest.cc:19–169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17//------------------------------------------------------------------------------
18
19TEST(StreamTest, Roundtrip) {
20 // Write some fields.
21 testutil::AvifRwData rw_data;
22 avifRWStream rw_stream;
23 avifRWStreamStart(&rw_stream, &rw_data);
24 EXPECT_EQ(avifRWStreamOffset(&rw_stream), size_t{0});
25
26 const uint8_t rw_somedata[] = {3, 1, 4};
27 EXPECT_EQ(avifRWStreamWrite(&rw_stream, rw_somedata, sizeof(rw_somedata)),
28 AVIF_RESULT_OK);
29
30 const char rw_somechars[] = "somechars";
31 EXPECT_EQ(
32 avifRWStreamWriteChars(&rw_stream, rw_somechars, sizeof(rw_somechars)),
33 AVIF_RESULT_OK);
34
35 const char rw_box_type[] = "type";
36 avifBoxMarker rw_box_marker;
37 EXPECT_EQ(avifRWStreamWriteBox(&rw_stream, rw_box_type, /*contentSize=*/0,
38 &rw_box_marker),
39 AVIF_RESULT_OK);
40
41 const uint8_t rw_someu8 = 0xAA;
42 EXPECT_EQ(avifRWStreamWriteU8(&rw_stream, rw_someu8), AVIF_RESULT_OK);
43
44 const int rw_full_box_version = 7;
45 const uint32_t rw_full_box_flags = 0x555;
46 avifBoxMarker rw_full_box_marker;
47 EXPECT_EQ(avifRWStreamWriteFullBox(&rw_stream, rw_box_type, /*contentSize=*/0,
48 rw_full_box_version, rw_full_box_flags,
49 &rw_full_box_marker),
50 AVIF_RESULT_OK);
51
52 const uint16_t rw_someu16 = 0xAABB;
53 EXPECT_EQ(avifRWStreamWriteU16(&rw_stream, rw_someu16), AVIF_RESULT_OK);
54
55 ASSERT_EQ(avifRWStreamFinishBox(&rw_stream, rw_full_box_marker),
56 AVIF_RESULT_OK);
57
58 ASSERT_EQ(avifRWStreamFinishBox(&rw_stream, rw_box_marker), AVIF_RESULT_OK);
59
60 const uint32_t rw_someu32 = 0xAABBCCDD;
61 EXPECT_EQ(avifRWStreamWriteU32(&rw_stream, rw_someu32), AVIF_RESULT_OK);
62
63 const uint64_t rw_someu64 = 0xAABBCCDDEEFF0011;
64 EXPECT_EQ(avifRWStreamWriteU64(&rw_stream, rw_someu64), AVIF_RESULT_OK);
65
66 const size_t rw_somebitcount = 6;
67 const uint32_t rw_somebits = (1 << rw_somebitcount) - 2;
68 EXPECT_EQ(avifRWStreamWriteBits(&rw_stream, rw_somebits, rw_somebitcount),
69 AVIF_RESULT_OK);
70 const size_t rw_maxbitcount = sizeof(uint32_t) * 8;
71 const uint32_t rw_maxbits = std::numeric_limits<uint32_t>::max();
72 EXPECT_EQ(avifRWStreamWriteBits(&rw_stream, rw_maxbits, rw_maxbitcount),
73 AVIF_RESULT_OK);
74
75 const uint32_t skipbitcount = 23;
76 EXPECT_EQ(avifRWStreamWriteBits(&rw_stream, 0, skipbitcount), AVIF_RESULT_OK);

Callers

nothing calls this directly

Calls 15

avifRWStreamStartFunction · 0.85
avifRWStreamOffsetFunction · 0.85
avifRWStreamWriteFunction · 0.85
avifRWStreamWriteCharsFunction · 0.85
avifRWStreamWriteBoxFunction · 0.85
avifRWStreamWriteU8Function · 0.85
avifRWStreamWriteFullBoxFunction · 0.85
avifRWStreamWriteU16Function · 0.85
avifRWStreamFinishBoxFunction · 0.85
avifRWStreamWriteU32Function · 0.85
avifRWStreamWriteU64Function · 0.85
avifRWStreamWriteBitsFunction · 0.85

Tested by

no test coverage detected