diff options
author | Danil Chapovalov <danilchap@webrtc.org> | 2020-07-08 11:24:19 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-08 11:41:20 +0000 |
commit | a9e1b49704b233cf660cc6670ceaef8ef89f8bb0 (patch) | |
tree | af13c146dcbf226dfc54aeb7437b4d9f923dd991 /rtc_base/bit_buffer_unittest.cc | |
parent | e88c95e516b6882be1c61b3a9eb334e55ff70e07 (diff) | |
download | webrtc-a9e1b49704b233cf660cc6670ceaef8ef89f8bb0.tar.gz |
Fix support for BitBuffer::ReadNonSymmetric(&value, 1)
Bug: None
Change-Id: I4a9076cbb250a8f5c60a90d509f57d1067a71a14
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178808
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31671}
Diffstat (limited to 'rtc_base/bit_buffer_unittest.cc')
-rw-r--r-- | rtc_base/bit_buffer_unittest.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/rtc_base/bit_buffer_unittest.cc b/rtc_base/bit_buffer_unittest.cc index 441cd26495..656682c2ef 100644 --- a/rtc_base/bit_buffer_unittest.cc +++ b/rtc_base/bit_buffer_unittest.cc @@ -254,6 +254,28 @@ TEST(BitBufferWriterTest, NonSymmetricReadsMatchesWrites) { EXPECT_THAT(values, ElementsAre(0, 1, 2, 3, 4, 5)); } +TEST(BitBufferTest, ReadNonSymmetricOnlyValueConsumesNoBits) { + const uint8_t bytes[2] = {}; + BitBuffer reader(bytes, 2); + uint32_t value = 0xFFFFFFFF; + ASSERT_EQ(reader.RemainingBitCount(), 16u); + + EXPECT_TRUE(reader.ReadNonSymmetric(&value, /*num_values=*/1)); + + EXPECT_EQ(value, 0u); + EXPECT_EQ(reader.RemainingBitCount(), 16u); +} + +TEST(BitBufferWriterTest, WriteNonSymmetricOnlyValueConsumesNoBits) { + uint8_t bytes[2] = {}; + BitBufferWriter writer(bytes, 2); + ASSERT_EQ(writer.RemainingBitCount(), 16u); + + EXPECT_TRUE(writer.WriteNonSymmetric(0, /*num_values=*/1)); + + EXPECT_EQ(writer.RemainingBitCount(), 16u); +} + uint64_t GolombEncoded(uint32_t val) { val++; uint32_t bit_counter = val; |