| Index: webrtc/modules/rtp_rtcp/source/byte_io_unittest.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/byte_io_unittest.cc b/webrtc/modules/rtp_rtcp/source/byte_io_unittest.cc
|
| index 8b626189a018bfe3fd90152ff958c380ee045af0..d0e6cbb6eb1cf3e7f0148359492fd320e968120d 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/byte_io_unittest.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/byte_io_unittest.cc
|
| @@ -206,5 +206,43 @@ TEST_F(ByteIoTest, Test64SBitLittleEndian) {
|
| sizeof(int64_t)>(false);
|
| }
|
|
|
| +// Sets up a fixed byte array and converts N bytes from the array into a
|
| +// uint64_t. Verifies the value with hard-coded reference.
|
| +TEST(ByteIo, SanityCheckFixedByteArrayUnsignedReadBigEndian) {
|
| + uint8_t data[8] = {0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAA, 0x99, 0x88};
|
| + uint64_t value = ByteReader<uint64_t, 2>::ReadBigEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xFFEE), value);
|
| + value = ByteReader<uint64_t, 3>::ReadBigEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xFFEEDD), value);
|
| + value = ByteReader<uint64_t, 4>::ReadBigEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xFFEEDDCC), value);
|
| + value = ByteReader<uint64_t, 5>::ReadBigEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xFFEEDDCCBB), value);
|
| + value = ByteReader<uint64_t, 6>::ReadBigEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xFFEEDDCCBBAA), value);
|
| + value = ByteReader<uint64_t, 7>::ReadBigEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xFFEEDDCCBBAA99), value);
|
| + value = ByteReader<uint64_t, 8>::ReadBigEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xFFEEDDCCBBAA9988), value);
|
| +}
|
| +
|
| +// Same as above, but for little-endian reading.
|
| +TEST(ByteIo, SanityCheckFixedByteArrayUnsignedReadLittleEndian) {
|
| + uint8_t data[8] = {0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAA, 0x99, 0x88};
|
| + uint64_t value = ByteReader<uint64_t, 2>::ReadLittleEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xEEFF), value);
|
| + value = ByteReader<uint64_t, 3>::ReadLittleEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xDDEEFF), value);
|
| + value = ByteReader<uint64_t, 4>::ReadLittleEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xCCDDEEFF), value);
|
| + value = ByteReader<uint64_t, 5>::ReadLittleEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xBBCCDDEEFF), value);
|
| + value = ByteReader<uint64_t, 6>::ReadLittleEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0xAABBCCDDEEFF), value);
|
| + value = ByteReader<uint64_t, 7>::ReadLittleEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0x99AABBCCDDEEFF), value);
|
| + value = ByteReader<uint64_t, 8>::ReadLittleEndian(data);
|
| + EXPECT_EQ(static_cast<uint64_t>(0x8899AABBCCDDEEFF), value);
|
| +}
|
| } // namespace
|
| } // namespace webrtc
|
|
|