125 EXPECT_FALSE(alloc.verify()); // space is still allocated |
125 EXPECT_FALSE(alloc.verify()); // space is still allocated |
126 cxBufferDestroy(&buf); |
126 cxBufferDestroy(&buf); |
127 EXPECT_TRUE(alloc.verify()); |
127 EXPECT_TRUE(alloc.verify()); |
128 } |
128 } |
129 |
129 |
|
130 TEST(BufferInit, OnHeap) { |
|
131 CxTestingAllocator alloc; |
|
132 CxBuffer *buf; |
|
133 void *space = cxMalloc(&alloc, 16); |
|
134 buf = cxBufferCreate(space, 16, &alloc, CX_BUFFER_FREE_CONTENTS); |
|
135 EXPECT_NE(buf, nullptr); |
|
136 expect_default_flush_config(buf); |
|
137 EXPECT_EQ(buf->space, space); |
|
138 EXPECT_EQ(buf->flags & CX_BUFFER_AUTO_EXTEND, 0); |
|
139 EXPECT_EQ(buf->flags & CX_BUFFER_FREE_CONTENTS, CX_BUFFER_FREE_CONTENTS); |
|
140 EXPECT_EQ(buf->pos, 0); |
|
141 EXPECT_EQ(buf->size, 0); |
|
142 EXPECT_EQ(buf->capacity, 16); |
|
143 EXPECT_EQ(buf->allocator, &alloc); |
|
144 cxBufferFree(buf); |
|
145 EXPECT_TRUE(alloc.verify()); |
|
146 } |
|
147 |
130 class BufferShiftFixture : public ::testing::Test { |
148 class BufferShiftFixture : public ::testing::Test { |
131 protected: |
149 protected: |
132 void SetUp() override { |
150 void SetUp() override { |
133 ASSERT_TRUE(alloc.verify()); |
151 ASSERT_TRUE(alloc.verify()); |
134 cxBufferInit(&buf, nullptr, 16, &alloc, CX_BUFFER_DEFAULT); |
152 cxBufferInit(&buf, nullptr, 16, &alloc, CX_BUFFER_DEFAULT); |