Define rtc::BufferT::const_iterator

So that we can use rtc::Buffer with gmock container matchers.

Bug: none
Change-Id: I2f6e98850e82902636824168edaa37a90681ad98
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168188
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30454}
This commit is contained in:
Karl Wiberg
2020-02-04 14:31:39 +01:00
committed by Commit Bot
parent c81798b0c4
commit 215963c759
2 changed files with 9 additions and 6 deletions

View File

@ -14,12 +14,16 @@
#include <utility>
#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<int16_t> buf2(test_data);
EXPECT_EQ(buf, buf2);
buf2[0] = 9;