summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_virtualedit.vim
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-05-02 13:06:24 +0200
committerChristian Brabandt <cb@256bit.org>2024-05-02 13:06:24 +0200
commit2ffdae79487cb7e323383eda9ae96c2e9d1625bd (patch)
tree8fba2ff650ac2c75106755228622e39ac1cf044e /src/testdir/test_virtualedit.vim
parentda9d345b3dd8fe67c0c7341e426b09bec8c40abd (diff)
patch 9.1.0388: cursor() and getregion() don't handle v:maxcol wellv9.1.0388
Problem: cursor() and getregion() don't handle v:maxcol well. Solution: Add special handling for v:maxcol like setpos() does. (zeertzjq) closes: #14698 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/testdir/test_virtualedit.vim')
-rw-r--r--src/testdir/test_virtualedit.vim22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/testdir/test_virtualedit.vim b/src/testdir/test_virtualedit.vim
index 48d4aa0616..3d3fdd0bec 100644
--- a/src/testdir/test_virtualedit.vim
+++ b/src/testdir/test_virtualedit.vim
@@ -709,5 +709,27 @@ func Test_virtualedit_replace_after_tab()
bwipe!
endfunc
+" Test that setpos('.') and cursor() behave the same for v:maxcol
+func Test_virtualedit_set_cursor_pos_maxcol()
+ new
+ set virtualedit=all
+
+ call setline(1, 'foobar')
+ exe "normal! V\<Esc>"
+ call assert_equal([0, 1, 1, 0], getpos("'<"))
+ call assert_equal([0, 1, v:maxcol, 0], getpos("'>"))
+ let pos = getpos("'>")
+
+ call cursor(1, 1)
+ call setpos('.', pos)
+ call assert_equal([0, 1, 7, 0], getpos('.'))
+
+ call cursor(1, 1)
+ call cursor(pos[1:])
+ call assert_equal([0, 1, 7, 0], getpos('.'))
+
+ set virtualedit&
+ bwipe!
+endfunc
" vim: shiftwidth=2 sts=2 expandtab