aboutsummaryrefslogtreecommitdiff
path: root/core/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test')
-rw-r--r--core/src/test/java/coffee/liz/abstractionengine/app/ui/editor/vim/VimEngineTest.java22
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);