add another BUffer unit test
This commit is contained in:
parent
add43beb92
commit
89687100f3
@ -138,11 +138,14 @@ TEST(BufferTest, adds_a_newline_after_inserted_character_when_inserting_in_an_em
|
|||||||
Buffer b;
|
Buffer b;
|
||||||
auto it = b.add_cursor();
|
auto it = b.add_cursor();
|
||||||
EXPECT_EQ(0u, it->offset());
|
EXPECT_EQ(0u, it->offset());
|
||||||
|
EXPECT_FALSE(it->valid());
|
||||||
|
|
||||||
b.enter_insert_mode();
|
b.enter_insert_mode();
|
||||||
b.insert_code_point(*it, C('J'));
|
b.insert_code_point(*it, C('J'));
|
||||||
EXPECT_EQ(ss("J\n"), b.get_string());
|
EXPECT_EQ(ss("J\n"), b.get_string());
|
||||||
EXPECT_EQ(C('\n'), **it);
|
EXPECT_EQ(C('\n'), **it);
|
||||||
|
EXPECT_TRUE(it->valid());
|
||||||
|
EXPECT_EQ(0u, it->line());
|
||||||
b.exit_insert_mode();
|
b.exit_insert_mode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -465,3 +468,31 @@ TEST(BufferTest, inserting_at_beginning_and_end_of_line_in_insert_mode_creates_p
|
|||||||
b.redo();
|
b.redo();
|
||||||
EXPECT_EQ("12abc34\ndef\n", b.get_string());
|
EXPECT_EQ("12abc34\ndef\n", b.get_string());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(BufferTest, inserts_and_undoes_properly_starting_from_empty_buffer)
|
||||||
|
{
|
||||||
|
Buffer b;
|
||||||
|
auto it = b.add_cursor();
|
||||||
|
|
||||||
|
b.enter_insert_mode();
|
||||||
|
EXPECT_FALSE(it->valid());
|
||||||
|
b.insert_code_point(*it, C('1'));
|
||||||
|
EXPECT_TRUE(it->valid());
|
||||||
|
EXPECT_EQ(0u, it->line());
|
||||||
|
b.insert_code_point(*it, C('\n'));
|
||||||
|
EXPECT_EQ(1u, it->line());
|
||||||
|
b.insert_code_point(*it, C('2'));
|
||||||
|
EXPECT_EQ(1u, it->line());
|
||||||
|
b.insert_code_point(*it, C('\n'));
|
||||||
|
EXPECT_EQ(2u, it->line());
|
||||||
|
b.insert_code_point(*it, C('3'));
|
||||||
|
EXPECT_EQ(2u, it->line());
|
||||||
|
b.exit_insert_mode();
|
||||||
|
|
||||||
|
EXPECT_EQ(2u, it->line());
|
||||||
|
EXPECT_EQ("1\n2\n3\n", b.get_string());
|
||||||
|
|
||||||
|
b.undo();
|
||||||
|
EXPECT_EQ("", b.get_string());
|
||||||
|
EXPECT_EQ(0u, it->line());
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user