aboutsummaryrefslogtreecommitdiff
path: root/test/old
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-18 08:42:45 +0800
committerGitHub <noreply@github.com>2023-08-18 08:42:45 +0800
commitf8afa8023ee032dfb2aa9a6489f51484fb276732 (patch)
treef1520e2fc6d990bd9cf9876bdf1bf126f5881431 /test/old
parent46163ddf5d718c4e749df78ef8e54d0715de6cb9 (diff)
downloadrneovim-f8afa8023ee032dfb2aa9a6489f51484fb276732.tar.gz
rneovim-f8afa8023ee032dfb2aa9a6489f51484fb276732.tar.bz2
rneovim-f8afa8023ee032dfb2aa9a6489f51484fb276732.zip
vim-patch:9.0.1728: missing winid argument for virtcol() (#24770)
Problem: missing winid argument for virtcol() Solution: Add a {winid} argument to virtcol() Other functions col(), charcol() and virtcol2col() support a {winid} argument, so it makes sense for virtcol() to also support than. Also add test for virtcol2col() with 'showbreak' and {winid}. closes: vim/vim#12633 https://github.com/vim/vim/commit/825cf813fa0fddf085fcbd3194781e875320ff63
Diffstat (limited to 'test/old')
-rw-r--r--test/old/testdir/test_cursor_func.vim19
-rw-r--r--test/old/testdir/test_functions.vim22
2 files changed, 40 insertions, 1 deletions
diff --git a/test/old/testdir/test_cursor_func.vim b/test/old/testdir/test_cursor_func.vim
index 3d6ad8405c..e8b30226de 100644
--- a/test/old/testdir/test_cursor_func.vim
+++ b/test/old/testdir/test_cursor_func.vim
@@ -540,9 +540,28 @@ func Test_virtcol2col()
call assert_equal(8, virtcol2col(0, 1, 7))
call assert_equal(8, virtcol2col(0, 1, 8))
+ let w = winwidth(0)
+ call setline(2, repeat('a', w + 2))
+ let win_nosbr = win_getid()
+ split
+ setlocal showbreak=!!
+ let win_sbr = win_getid()
+ call assert_equal(w, virtcol2col(win_nosbr, 2, w))
+ call assert_equal(w + 1, virtcol2col(win_nosbr, 2, w + 1))
+ call assert_equal(w + 2, virtcol2col(win_nosbr, 2, w + 2))
+ call assert_equal(w + 2, virtcol2col(win_nosbr, 2, w + 3))
+ call assert_equal(w, virtcol2col(win_sbr, 2, w))
+ call assert_equal(w + 1, virtcol2col(win_sbr, 2, w + 1))
+ call assert_equal(w + 1, virtcol2col(win_sbr, 2, w + 2))
+ call assert_equal(w + 1, virtcol2col(win_sbr, 2, w + 3))
+ call assert_equal(w + 2, virtcol2col(win_sbr, 2, w + 4))
+ call assert_equal(w + 2, virtcol2col(win_sbr, 2, w + 5))
+ close
+
call assert_fails('echo virtcol2col("0", 1, 20)', 'E1210:')
call assert_fails('echo virtcol2col(0, "1", 20)', 'E1210:')
call assert_fails('echo virtcol2col(0, 1, "1")', 'E1210:')
+
bw!
endfunc
diff --git a/test/old/testdir/test_functions.vim b/test/old/testdir/test_functions.vim
index e286090018..c91e989233 100644
--- a/test/old/testdir/test_functions.vim
+++ b/test/old/testdir/test_functions.vim
@@ -3093,12 +3093,32 @@ endfunc
" Test for virtcol()
func Test_virtcol()
- enew!
+ new
call setline(1, "the\tquick\tbrown\tfox")
norm! 4|
call assert_equal(8, virtcol('.'))
call assert_equal(8, virtcol('.', v:false))
call assert_equal([4, 8], virtcol('.', v:true))
+
+ let w = winwidth(0)
+ call setline(2, repeat('a', w + 2))
+ let win_nosbr = win_getid()
+ split
+ setlocal showbreak=!!
+ let win_sbr = win_getid()
+ call assert_equal([w, w], virtcol([2, w], v:true, win_nosbr))
+ call assert_equal([w + 1, w + 1], virtcol([2, w + 1], v:true, win_nosbr))
+ call assert_equal([w + 2, w + 2], virtcol([2, w + 2], v:true, win_nosbr))
+ call assert_equal([w, w], virtcol([2, w], v:true, win_sbr))
+ call assert_equal([w + 3, w + 3], virtcol([2, w + 1], v:true, win_sbr))
+ call assert_equal([w + 4, w + 4], virtcol([2, w + 2], v:true, win_sbr))
+ close
+
+ call assert_equal(0, virtcol(''))
+ call assert_equal([0, 0], virtcol('', v:true))
+ call assert_equal(0, virtcol('.', v:false, 5001))
+ call assert_equal([0, 0], virtcol('.', v:true, 5001))
+
bwipe!
endfunc