comparison src/testdir/test_vartabs.vim @ 19603:6d3c683466f4 v8.2.0358

patch 8.2.0358: insufficient testing for indent.c Commit: https://github.com/vim/vim/commit/bd7206e02c957f0619e68e1628e2a3e91dd41e06 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Mar 6 20:36:04 2020 +0100 patch 8.2.0358: insufficient testing for indent.c Problem: Insufficient testing for indent.c. Solution: Add indent tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5736)
author Bram Moolenaar <Bram@vim.org>
date Fri, 06 Mar 2020 20:45:04 +0100
parents 7a19c8d6bb9e
children 546bdeef35f1
comparison
equal deleted inserted replaced
19602:03c12433ae36 19603:6d3c683466f4
88 set ts=8 sts=0 vts=6 vsts= 88 set ts=8 sts=0 vts=6 vsts=
89 exe "norm! Sl\<tab>l\<tab>l\<tab>l\<tab>l\<tab>l" 89 exe "norm! Sl\<tab>l\<tab>l\<tab>l\<tab>l\<tab>l"
90 retab 4,8 90 retab 4,8
91 let expect = "l\<tab> l\<tab>l l\<tab> l\<tab> l" 91 let expect = "l\<tab> l\<tab>l l\<tab> l\<tab> l"
92 call assert_equal(expect, getline(1)) 92 call assert_equal(expect, getline(1))
93
94 " Test for 'retab' with vts
95 set ts=8 sts=0 vts=5,3,6,2 vsts=
96 exe "norm! S l"
97 .retab!
98 call assert_equal("\t\t\t\tl", getline(1))
99
100 " Test for 'retab' with same vlaues as vts
101 set ts=8 sts=0 vts=5,3,6,2 vsts=
102 exe "norm! S l"
103 .retab! 5,3,6,2
104 call assert_equal("\t\t\t\tl", getline(1))
93 105
94 " Check that global and local values are set. 106 " Check that global and local values are set.
95 set ts=4 vts=6 sts=8 vsts=10 107 set ts=4 vts=6 sts=8 vsts=10
96 call assert_equal(&ts, 4) 108 call assert_equal(&ts, 4)
97 call assert_equal(&vts, '6') 109 call assert_equal(&vts, '6')
376 func Test_vartabs_reset() 388 func Test_vartabs_reset()
377 set vts=8 389 set vts=8
378 set all& 390 set all&
379 call assert_equal('', &vts) 391 call assert_equal('', &vts)
380 endfunc 392 endfunc
393
394 func s:SaveCol(l)
395 call add(a:l, [col('.'), virtcol('.')])
396 return ''
397 endfunc
398
399 " Test for 'varsofttabstop'
400 func Test_varsofttabstop()
401 new
402 inoremap <expr> <F2> s:SaveCol(g:cols)
403
404 set backspace=indent,eol,start
405 set varsofttabstop=6,2,5,3
406 let g:cols = []
407 call feedkeys("a\t\<F2>\t\<F2>\t\<F2>\t\<F2> ", 'xt')
408 call assert_equal("\t\t ", getline(1))
409 call assert_equal([[7, 7], [2, 9], [7, 14], [3, 17]], g:cols)
410
411 let g:cols = []
412 call feedkeys("a\<bs>\<F2>\<bs>\<F2>\<bs>\<F2>\<bs>\<F2>\<bs>\<F2>", 'xt')
413 call assert_equal('', getline(1))
414 call assert_equal([[3, 17], [7, 14], [2, 9], [7, 7], [1, 1]], g:cols)
415
416 set varsofttabstop&
417 set backspace&
418 iunmap <F2>
419 close!
420 endfunc
421
422 " vim: shiftwidth=2 sts=2 expandtab