Add GapBuffer::erase()

This commit is contained in:
josh committed 2016-12-26 13:28:37 -05:00
1 parent 57d525ae44
commit 92b3e888b5
3 files changed
+56

No files matched your search

+29
View File
@@ -43,6 +43,35 @@ TEST(GapBufferTest, allows_inserting)
EXPECT_EQ(8u, gp.size());
}
TEST(GapBufferTest, allows_deleting)
{
GapBuffer gp;
gp.insert(0u, (const uint8_t *)"test_123", 8u);
EXPECT_EQ(8u, gp.size());
EXPECT_EQ("test_123", gp.get_string());
gp.erase(6u, 2u);
EXPECT_EQ(6u, gp.size());
EXPECT_EQ("test_1", gp.get_string());
gp.insert(4u, (const uint8_t *)"!@#$", 4u);
EXPECT_EQ(10u, gp.size());
EXPECT_EQ("test!@#$_1", gp.get_string());
gp.erase(4u, 4u);
EXPECT_EQ(6u, gp.size());
EXPECT_EQ("test_1", gp.get_string());
gp.insert(4u, (const uint8_t *)"^&", 2u);
EXPECT_EQ(8u, gp.size());
EXPECT_EQ("test^&_1", gp.get_string());
gp.erase(2u, 5u);
EXPECT_EQ(3u, gp.size());
EXPECT_EQ("te1", gp.get_string());
}
TEST(GapBufferTest, allocates_more_memory_and_copies_buffer_contents_when_needed)
{
GapBuffer gp;