Mon, 25 Jul 2022 15:34:19 +0200
#170 test cxBufferGet
test/test_buffer.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/test/test_buffer.cpp Mon Jul 25 15:29:56 2022 +0200 1.2 +++ b/test/test_buffer.cpp Mon Jul 25 15:34:19 2022 +0200 1.3 @@ -746,3 +746,34 @@ 1.4 cxBufferWrite("test", 1, 5, &buf); 1.5 EXPECT_FALSE(cxBufferEof(&buf)); 1.6 } 1.7 + 1.8 +class BufferRead : public ::testing::Test { 1.9 +protected: 1.10 + CxBuffer buf{}; 1.11 + 1.12 + void SetUp() override { 1.13 + cxBufferInit(&buf, nullptr, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); 1.14 + buf.capacity = 8; // artificially reduce capacity to check OOB writes 1.15 + memset(buf.space, 0, 16); 1.16 + memcpy(buf.space, "some data", 9); 1.17 + buf.size = 9; 1.18 + } 1.19 + 1.20 + void TearDown() override { 1.21 + cxBufferDestroy(&buf); 1.22 + } 1.23 +}; 1.24 + 1.25 +TEST_F(BufferRead, GetByte) { 1.26 + buf.pos = 2; 1.27 + EXPECT_EQ(cxBufferGet(&buf), 'm'); 1.28 + EXPECT_EQ(cxBufferGet(&buf), 'e'); 1.29 + EXPECT_EQ(cxBufferGet(&buf), ' '); 1.30 + EXPECT_EQ(cxBufferGet(&buf), 'd'); 1.31 + EXPECT_EQ(buf.pos, 6); 1.32 +} 1.33 + 1.34 +TEST_F(BufferRead, GetEof) { 1.35 + buf.pos = buf.size; 1.36 + EXPECT_EQ(cxBufferGet(&buf), EOF); 1.37 +}