| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #include "test_framework.hpp"
- #include "lumacs/editor_core.hpp"
- using namespace lumacs;
- TEST(EditorCore_KillWord) {
- EditorCore core;
- core.buffer().insert({0, 0}, "Hello World");
- core.set_cursor({0, 0});
-
- core.kill_word();
-
- ASSERT_EQ(std::string(" World"), core.buffer().content());
- ASSERT_EQ(std::string("Hello"), core.kill_ring().current());
- }
- TEST(EditorCore_BackwardKillWord) {
- EditorCore core;
- core.buffer().insert({0, 0}, "Hello World");
- core.set_cursor({0, 5}); // After "Hello"
-
- core.backward_kill_word();
-
- ASSERT_EQ(std::string(" World"), core.buffer().content());
- ASSERT_EQ(std::string("Hello"), core.kill_ring().current());
- }
- TEST(EditorCore_KillWord_Middle) {
- EditorCore core;
- core.buffer().insert({0, 0}, "Hello World");
- core.set_cursor({0, 2}); // "He|llo"
-
- core.kill_word(); // Should kill "llo"
-
- ASSERT_EQ(std::string("He World"), core.buffer().content());
- ASSERT_EQ(std::string("llo"), core.kill_ring().current());
- }
- TEST(EditorCore_BackwardKillWord_Middle) {
- EditorCore core;
- core.buffer().insert({0, 0}, "Hello World");
- core.set_cursor({0, 3}); // "Hel|lo"
-
- core.backward_kill_word(); // Should kill "Hel"
-
- ASSERT_EQ(std::string("lo World"), core.buffer().content());
- ASSERT_EQ(std::string("Hel"), core.kill_ring().current());
- }
|