@@ -200,6 +200,36 @@ public void DeleteCharOrExit()
200200 Test ( "exit" , Keys ( "foo" , _ . Home , Enumerable . Repeat ( _ . Ctrl_d , 4 ) , InputAcceptedNow ) ) ;
201201 }
202202
203+ [ SkippableFact ]
204+ public void SelectAndDelete ( )
205+ {
206+ TestSetup ( KeyMode . Cmd ) ;
207+
208+ Test ( "abcde" , Keys (
209+ "abcde" ,
210+ CheckThat ( ( ) => AssertCursorLeftIs ( 5 ) ) ,
211+ _ . Shift_LeftArrow , _ . Shift_LeftArrow , _ . Shift_LeftArrow ,
212+ _ . Backspace ,
213+ CheckThat ( ( ) => AssertLineIs ( "ab" ) ) ,
214+ CheckThat ( ( ) => AssertCursorLeftIs ( 2 ) ) ,
215+ _ . Ctrl_z ,
216+ CheckThat ( ( ) => AssertLineIs ( "abcde" ) ) ,
217+ CheckThat ( ( ) => AssertCursorLeftIs ( 5 ) ) ) ) ;
218+
219+ Test ( "abcde" , Keys (
220+ "abcde" , _ . Home ,
221+ CheckThat ( ( ) => AssertCursorLeftIs ( 0 ) ) ,
222+ _ . RightArrow , _ . RightArrow ,
223+ CheckThat ( ( ) => AssertCursorLeftIs ( 2 ) ) ,
224+ _ . Shift_RightArrow , _ . Shift_RightArrow ,
225+ _ . Delete ,
226+ CheckThat ( ( ) => AssertLineIs ( "abe" ) ) ,
227+ CheckThat ( ( ) => AssertCursorLeftIs ( 2 ) ) ,
228+ _ . Ctrl_z ,
229+ CheckThat ( ( ) => AssertLineIs ( "abcde" ) ) ,
230+ CheckThat ( ( ) => AssertCursorLeftIs ( 4 ) ) ) ) ;
231+ }
232+
203233 [ SkippableFact ]
204234 public void SwapCharacters ( )
205235 {
0 commit comments