From c190cec868a29c848f9317cef6eed6a6a1447781 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Thu, 16 Oct 2025 11:04:26 +0100 Subject: [PATCH] add failing test for 'd$' motion --- temp.txt | 3 ++- test/normal-delete.sml | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/temp.txt b/temp.txt index 5b42468..94954ab 100644 --- a/temp.txt +++ b/temp.txt @@ -1 +1,2 @@ -hello again +hello +world diff --git a/test/normal-delete.sml b/test/normal-delete.sml index 85c1fa2..800ca62 100644 --- a/test/normal-delete.sml +++ b/test/normal-delete.sml @@ -2956,6 +2956,30 @@ struct end) ] + val dDlrDelete = describe "delete motion 'd$'" + [test + "deletes only last character on line \ + \when cursor is on last character" + (fn _ => + let + (* arrange *) + val originalString = "hello\nworld\n" + val app = TestUtils.init originalString + val app = AppWith.idx (app, 4) + + (* act *) + val {buffer, cursorIdx, ...} = TestUtils.updateMany (app, "d$") + + (* assert *) + val actualString = LineGap.toString buffer + val expectedString = originalString + val expectedCursorIdx = 3 + in + Expect.isTrue + (actualString = expectedString + andalso cursorIdx = expectedCursorIdx) + end)] + val tests = [ dhDelete , dlDelete @@ -2973,5 +2997,6 @@ struct , dGDelete , dggDelete , d0Delete + , dDlrDelete ] end