diff --git a/rtc_base/buffer.h b/rtc_base/buffer.h index 34ef8859a8..3048b9179f 100644 --- a/rtc_base/buffer.h +++ b/rtc_base/buffer.h @@ -64,6 +64,7 @@ class BufferT { public: using value_type = T; + using const_iterator = const T*; // An empty BufferT. BufferT() : size_(0), capacity_(0), data_(nullptr) { diff --git a/rtc_base/buffer_unittest.cc b/rtc_base/buffer_unittest.cc index 40d9edc565..3e7396dd2c 100644 --- a/rtc_base/buffer_unittest.cc +++ b/rtc_base/buffer_unittest.cc @@ -14,12 +14,16 @@ #include #include "api/array_view.h" +#include "test/gmock.h" #include "test/gtest.h" namespace rtc { namespace { +using ::testing::ElementsAre; +using ::testing::ElementsAreArray; + // clang-format off const uint8_t kTestData[] = {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}; @@ -104,10 +108,12 @@ TEST(BufferTest, TestSetAndAppendWithUnknownArg) { buf.SetData(TestDataContainer()); EXPECT_EQ(3u, buf.size()); EXPECT_EQ(Buffer(kTestData, 3), buf); + EXPECT_THAT(buf, ElementsAre(0, 1, 2)); buf.AppendData(TestDataContainer()); EXPECT_EQ(6u, buf.size()); EXPECT_EQ(0, memcmp(buf.data(), kTestData, 3)); EXPECT_EQ(0, memcmp(buf.data() + 3, kTestData, 3)); + EXPECT_THAT(buf, ElementsAre(0, 1, 2, 0, 1, 2)); } TEST(BufferTest, TestSetSizeSmaller) { @@ -362,9 +368,7 @@ TEST(BufferTest, TestBracketWrite) { buf[i] = kTestData[i]; } - for (size_t i = 0; i != 7u; ++i) { - EXPECT_EQ(buf[i], kTestData[i]); - } + EXPECT_THAT(buf, ElementsAreArray(kTestData, 7)); } TEST(BufferTest, TestBeginEnd) { @@ -392,9 +396,7 @@ TEST(BufferTest, TestInt16) { EXPECT_EQ(buf.capacity(), 5u); EXPECT_NE(buf.data(), nullptr); EXPECT_FALSE(buf.empty()); - for (size_t i = 0; i != buf.size(); ++i) { - EXPECT_EQ(test_data[i], buf[i]); - } + EXPECT_THAT(buf, ElementsAreArray(test_data)); BufferT buf2(test_data); EXPECT_EQ(buf, buf2); buf2[0] = 9;