@@ -529,6 +529,27 @@ public void ViDeletePreviousLines_LastLine()
529
529
) ) ;
530
530
}
531
531
532
+ // Defect #1674
533
+ [ SkippableFact ]
534
+ public void ViDeleteToCharBack ( )
535
+ {
536
+ TestSetup ( KeyMode . Vi ) ;
537
+
538
+ Test ( "g" , Keys (
539
+ "abcdefg" , _ . Escape ,
540
+ // delete to the first character 'a'
541
+ "dFa" ,
542
+ CheckThat ( ( ) => AssertCursorLeftIs ( 0 ) )
543
+ ) ) ;
544
+
545
+ Test ( "06" , Keys (
546
+ "0123456" , _ . Escape ,
547
+ // delete to the first character '0'
548
+ "dT0" , CheckThat ( ( ) => AssertLineIs ( "06" ) ) ,
549
+ CheckThat ( ( ) => AssertCursorLeftIs ( 1 ) )
550
+ ) ) ;
551
+ }
552
+
532
553
[ SkippableFact ]
533
554
public void ViDeleteToEnd ( )
534
555
{
@@ -1007,14 +1028,14 @@ public void ViChangeChar()
1007
1028
1008
1029
Test ( "0123456" , Keys (
1009
1030
"0123456" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) ,
1010
- "cF0abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "abc " ) ) ,
1031
+ "cF0abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "abc6 " ) ) ,
1011
1032
'u' , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) , CheckThat ( ( ) => AssertCursorLeftIs ( 6 ) ) ,
1012
- "cF1abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "0abc" ) ) ,
1013
- 'u' , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) , CheckThat ( ( ) => AssertCursorLeftIs ( 6 ) ) ,
1014
- "hcF0abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "abc6" ) ) ,
1015
- 'u' , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) , CheckThat ( ( ) => AssertCursorLeftIs ( 6 ) ) ,
1016
- "hcF1abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "0abc6" ) ) ,
1033
+ "cF1abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "0abc6" ) ) ,
1017
1034
'u' , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) , CheckThat ( ( ) => AssertCursorLeftIs ( 6 ) ) ,
1035
+ "hcF0abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "abc56" ) ) ,
1036
+ 'u' , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) , CheckThat ( ( ) => AssertCursorLeftIs ( 5 ) ) ,
1037
+ "hcF1abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "0abc456" ) ) ,
1038
+ 'u' , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) , CheckThat ( ( ) => AssertCursorLeftIs ( 4 ) ) ,
1018
1039
"0cF0abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "0bc123456" ) ) ,
1019
1040
'u'
1020
1041
) ) ;
@@ -1031,10 +1052,10 @@ public void ViChangeChar()
1031
1052
1032
1053
Test ( "0123456" , Keys (
1033
1054
"0123456" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) ,
1034
- "cT1abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "01abc" ) ) ,
1035
- 'u' , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) , CheckThat ( ( ) => AssertCursorLeftIs ( 6 ) ) ,
1036
- "hcT1abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "01abc6" ) ) ,
1055
+ "cT1abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "01abc6" ) ) ,
1037
1056
'u' , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) , CheckThat ( ( ) => AssertCursorLeftIs ( 6 ) ) ,
1057
+ "hcT1abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "01abc56" ) ) ,
1058
+ 'u' , CheckThat ( ( ) => AssertLineIs ( "0123456" ) ) , CheckThat ( ( ) => AssertCursorLeftIs ( 5 ) ) ,
1038
1059
"0cT0abc" , _ . Escape , CheckThat ( ( ) => AssertLineIs ( "0bc123456" ) ) ,
1039
1060
'u'
1040
1061
) ) ;
0 commit comments