Mercurial > vim
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 |