diff options
Diffstat (limited to 'core/src/test')
| -rw-r--r-- | core/src/test/java/coffee/liz/abstractionengine/app/ui/editor/vim/VimEngineTest.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/core/src/test/java/coffee/liz/abstractionengine/app/ui/editor/vim/VimEngineTest.java b/core/src/test/java/coffee/liz/abstractionengine/app/ui/editor/vim/VimEngineTest.java index 5248904..d87204d 100644 --- a/core/src/test/java/coffee/liz/abstractionengine/app/ui/editor/vim/VimEngineTest.java +++ b/core/src/test/java/coffee/liz/abstractionengine/app/ui/editor/vim/VimEngineTest.java @@ -563,6 +563,28 @@ public class VimEngineTest { assertEquals(0, buffer.getCursorPosition()); } + @Test + public void yiwThenPasteDoesNotUseStaleLineRegister() { + final FakeBuffer buffer = new FakeBuffer("alpha beta", 7); + final VimEngine controller = new VimEngine(buffer, status -> { + }); + + type(controller, 'y', 'y', '0', 'w', 'y', 'i', 'w', 'p'); + + assertEquals("alpha bbetaeta", buffer.getText()); + } + + @Test + public void diwDeletesWholeWordFromInsideWord() { + final FakeBuffer buffer = new FakeBuffer("alpha beta gamma", 8); + final VimEngine controller = new VimEngine(buffer, status -> { + }); + + type(controller, 'd', 'i', 'w'); + + assertEquals("alpha gamma", buffer.getText()); + } + private static void type(final VimEngine controller, final char... chars) { for (final char character : chars) { controller.handleKeyTyped(character); |
