@@ -364,11 +364,25 @@ endfunc
364364" Expected:
365365" 1) Ctrl-a on visually selected zero
366366" 111
367+ "
368+ " Also: 019 with "01" selected increments to "029".
367369func Test_visual_increment_15 ()
368370 call setline (1 , [" 101" ])
369371 exec " norm! lv\<C-A> "
370372 call assert_equal ([" 111" ], getline (1 , ' $' ))
371373 call assert_equal ([0 , 1 , 2 , 0 ], getpos (' .' ))
374+
375+ call setline (1 , [" 019" ])
376+ exec " norm! 0vl\<C-A> "
377+ call assert_equal (" 029" , getline (1 ))
378+
379+ call setline (1 , [" 01239" ])
380+ exec " norm! 0vlll\<C-A> "
381+ call assert_equal (" 01249" , getline (1 ))
382+
383+ call setline (1 , [" 01299" ])
384+ exec " norm! 0vlll\<C-A> "
385+ call assert_equal (" 1309" , getline (1 ))
372386endfunc
373387
374388" 16) increment right aligned numbers
@@ -756,5 +770,12 @@ func Test_normal_increment_03()
756770 call assert_equal ([0 , 3 , 25 , 0 ], getpos (' .' ))
757771endfunc
758772
773+ func Test_increment_empty_line ()
774+ new
775+ call setline (1 , [' 0' , ' 0' , ' 0' , ' 0' , ' 0' , ' 0' , ' ' ])
776+ exe " normal Gvgg\<C-A> "
777+ call assert_equal ([' 1' , ' 1' , ' 1' , ' 1' , ' 1' , ' 1' , ' ' ], getline (1 , 7 ))
778+ bwipe!
779+ endfunc
759780
760781" vim: shiftwidth = 2 sts = 2 expandtab
0 commit comments