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

825cf813fa
This commit is contained in:
zeertzjq
2023-08-18 08:42:45 +08:00
committed by GitHub
parent 46163ddf5d
commit f8afa8023e
6 changed files with 92 additions and 20 deletions

View File

@@ -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