diff src/testdir/test_increment.vim @ 20822:8e5f991db3b4 v8.2.0963

patch 8.2.0963: number increment/decrement does not work with 'virtualedit' Commit: https://github.com/vim/vim/commit/6c6be9e88d72a60ee279ccad73d018c534b71d66 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jun 12 20:19:44 2020 +0200 patch 8.2.0963: number increment/decrement does not work with 'virtualedit' Problem: Number increment/decrement does not work with 'virtualedit'. Solution: Handle coladd changing. (Christian Brabandt, closes https://github.com/vim/vim/issues/6240, closes #923)
author Bram Moolenaar <Bram@vim.org>
date Fri, 12 Jun 2020 20:30:04 +0200
parents 9edb439adbea
children b545334ae654
line wrap: on
line diff
--- a/src/testdir/test_increment.vim
+++ b/src/testdir/test_increment.vim
@@ -840,4 +840,40 @@ func Test_increment_unsigned()
   set nrformats-=unsigned
 endfunc
 
+func Test_normal_increment_with_virtualedit()
+  set virtualedit=all
+
+  call setline(1, ["\<TAB>1"])
+  exec "norm! 0\<C-A>"
+  call assert_equal("\<TAB>2", getline(1))
+  call assert_equal([0, 1, 2, 0], getpos('.'))
+
+  call setline(1, ["\<TAB>1"])
+  exec "norm! 0l\<C-A>"
+  call assert_equal("\<TAB>2", getline(1))
+  call assert_equal([0, 1, 2, 0], getpos('.'))
+
+  call setline(1, ["\<TAB>1"])
+  exec "norm! 07l\<C-A>"
+  call assert_equal("\<TAB>2", getline(1))
+  call assert_equal([0, 1, 2, 0], getpos('.'))
+
+  call setline(1, ["\<TAB>1"])
+  exec "norm! 0w\<C-A>"
+  call assert_equal("\<TAB>2", getline(1))
+  call assert_equal([0, 1, 2, 0], getpos('.'))
+
+  call setline(1, ["\<TAB>1"])
+  exec "norm! 0wl\<C-A>"
+  call assert_equal("\<TAB>1", getline(1))
+  call assert_equal([0, 1, 3, 0], getpos('.'))
+
+  call setline(1, ["\<TAB>1"])
+  exec "norm! 0w30l\<C-A>"
+  call assert_equal("\<TAB>1", getline(1))
+  call assert_equal([0, 1, 3, 29], getpos('.'))
+
+  set virtualedit&
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab