summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/rtc_base/copy_on_write_buffer_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/rtc_base/copy_on_write_buffer_unittest.cc')
-rw-r--r--third_party/libwebrtc/rtc_base/copy_on_write_buffer_unittest.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/third_party/libwebrtc/rtc_base/copy_on_write_buffer_unittest.cc b/third_party/libwebrtc/rtc_base/copy_on_write_buffer_unittest.cc
index 8a9fc4e2f4..8bf53c4d4c 100644
--- a/third_party/libwebrtc/rtc_base/copy_on_write_buffer_unittest.cc
+++ b/third_party/libwebrtc/rtc_base/copy_on_write_buffer_unittest.cc
@@ -46,11 +46,20 @@ void EnsureBuffersDontShareData(const CopyOnWriteBuffer& buf1,
TEST(CopyOnWriteBufferTest, TestCreateEmptyData) {
CopyOnWriteBuffer buf(static_cast<const uint8_t*>(nullptr), 0);
+ EXPECT_TRUE(buf.empty());
EXPECT_EQ(buf.size(), 0u);
EXPECT_EQ(buf.capacity(), 0u);
EXPECT_EQ(buf.data(), nullptr);
}
+TEST(CopyOnWriteBufferTest, CreateEmptyDataWithCapacity) {
+ CopyOnWriteBuffer buf(0, 16);
+ EXPECT_TRUE(buf.empty());
+ EXPECT_EQ(buf.size(), 0u);
+ EXPECT_EQ(buf.capacity(), 16u);
+ EXPECT_NE(buf.MutableData(), nullptr);
+}
+
TEST(CopyOnWriteBufferTest, TestMoveConstruct) {
EXPECT_TRUE(std::is_nothrow_move_constructible_v<CopyOnWriteBuffer>);
@@ -60,9 +69,11 @@ TEST(CopyOnWriteBufferTest, TestMoveConstruct) {
const uint8_t* buf1_data = buf1.cdata();
CopyOnWriteBuffer buf2(std::move(buf1));
+ EXPECT_TRUE(buf1.empty());
EXPECT_EQ(buf1.size(), 0u);
EXPECT_EQ(buf1.capacity(), 0u);
EXPECT_EQ(buf1.data(), nullptr);
+ EXPECT_FALSE(buf2.empty());
EXPECT_EQ(buf2.size(), buf1_size);
EXPECT_EQ(buf2.capacity(), buf1_capacity);
EXPECT_EQ(buf2.data(), buf1_data);
@@ -127,6 +138,7 @@ TEST(CopyOnWriteBufferTest, SetEmptyData) {
buf.SetData<uint8_t>(nullptr, 0);
EXPECT_EQ(0u, buf.size());
+ EXPECT_TRUE(buf.empty());
}
TEST(CopyOnWriteBufferTest, SetDataNoMoreThanCapacityDoesntCauseReallocation) {