aboutsummaryrefslogtreecommitdiff
path: root/rtc_base/bit_buffer_unittest.cc
diff options
context:
space:
mode:
authorDanil Chapovalov <danilchap@webrtc.org>2020-07-08 11:24:19 +0200
committerCommit Bot <commit-bot@chromium.org>2020-07-08 11:41:20 +0000
commita9e1b49704b233cf660cc6670ceaef8ef89f8bb0 (patch)
treeaf13c146dcbf226dfc54aeb7437b4d9f923dd991 /rtc_base/bit_buffer_unittest.cc
parente88c95e516b6882be1c61b3a9eb334e55ff70e07 (diff)
downloadwebrtc-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.cc22
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;