diff options
author | Yegappan Lakshmanan <yegappan@yahoo.com> | 2021-06-12 13:46:41 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-06-12 13:46:41 +0200 |
commit | 5958549760652c173b703613b9cbf09b25a4eddb (patch) | |
tree | 5acca6c4929b41affd9d7aaa2eadb8a65472ebcc | |
parent | 744aecf8777e86fac6d30f072e90e2de353b8ea1 (diff) | |
download | vim-git-5958549760652c173b703613b9cbf09b25a4eddb.tar.gz |
patch 8.2.2979: not all options code is covered by testsv8.2.2979
Problem: Not all options code is covered by tests.
Solution: Add more tests for options. (Yegappan Lakshmanan, closes #8369)
-rw-r--r-- | src/testdir/test_edit.vim | 24 | ||||
-rw-r--r-- | src/testdir/test_excmd.vim | 6 | ||||
-rw-r--r-- | src/testdir/test_help.vim | 10 | ||||
-rw-r--r-- | src/testdir/test_mksession.vim | 13 | ||||
-rw-r--r-- | src/testdir/test_options.vim | 31 | ||||
-rw-r--r-- | src/testdir/test_vartabs.vim | 13 | ||||
-rw-r--r-- | src/testdir/test_window_cmd.vim | 10 | ||||
-rw-r--r-- | src/version.c | 2 |
8 files changed, 108 insertions, 1 deletions
diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim index 39cb6aa35..3fcc11f2d 100644 --- a/src/testdir/test_edit.vim +++ b/src/testdir/test_edit.vim @@ -1871,4 +1871,28 @@ func Test_read_invalid() set encoding=utf-8 endfunc +" Test for the 'revins' option +func Test_edit_revins() + CheckFeature rightleft + new + set revins + exe "normal! ione\ttwo three" + call assert_equal("eerht owt\teno", getline(1)) + call setline(1, "one\ttwo three") + normal! gg$bi a + call assert_equal("one\ttwo a three", getline(1)) + exe "normal! $bi\<BS>\<BS>" + call assert_equal("one\ttwo a ree", getline(1)) + exe "normal! 0wi\<C-W>" + call assert_equal("one\t a ree", getline(1)) + exe "normal! 0wi\<C-U>" + call assert_equal("one\t ", getline(1)) + " newline in insert mode starts at the end of the line + call setline(1, 'one two three') + exe "normal! wi\nfour" + call assert_equal(['one two three', 'ruof'], getline(1, '$')) + set revins& + bw! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_excmd.vim b/src/testdir/test_excmd.vim index 60753a6e8..de82b5b77 100644 --- a/src/testdir/test_excmd.vim +++ b/src/testdir/test_excmd.vim @@ -593,6 +593,12 @@ func Sandbox_tests() if has('unix') call assert_fails('cd `pwd`', 'E48:') endif + " some options cannot be changed in a sandbox + call assert_fails('set exrc', 'E48:') + call assert_fails('set cdpath', 'E48:') + if has('xim') + call assert_fails('set imstyle', 'E48:') + endif endfunc func Test_sandbox() diff --git a/src/testdir/test_help.vim b/src/testdir/test_help.vim index ff2bc41b7..15cc642d1 100644 --- a/src/testdir/test_help.vim +++ b/src/testdir/test_help.vim @@ -123,5 +123,15 @@ func Test_helptag_cmd_readonly() call delete('Xdir', 'rf') endfunc +" Test for setting the 'helpheight' option in the help window +func Test_help_window_height() + let &cmdheight = &lines - 24 + set helpheight=10 + help + set helpheight=14 + call assert_equal(14, winheight(0)) + set helpheight& cmdheight=1 + close +endfunc " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_mksession.vim b/src/testdir/test_mksession.vim index 66e6e292a..a0a2cb461 100644 --- a/src/testdir/test_mksession.vim +++ b/src/testdir/test_mksession.vim @@ -1019,6 +1019,19 @@ func Test_mkvimrc() endfor call s:ClearMappings() + + " the 'pastetoggle', 'wildchar' and 'wildcharm' option values should be + " stored as key names in the vimrc file + set pastetoggle=<F5> + set wildchar=<F6> + set wildcharm=<F7> + call assert_fails('mkvimrc Xtestvimrc') + mkvimrc! Xtestvimrc + call assert_notequal(-1, index(readfile('Xtestvimrc'), 'set pastetoggle=<F5>')) + call assert_notequal(-1, index(readfile('Xtestvimrc'), 'set wildchar=<F6>')) + call assert_notequal(-1, index(readfile('Xtestvimrc'), 'set wildcharm=<F7>')) + set pastetoggle& wildchar& wildcharm& + call delete('Xtestvimrc') endfunc diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim index d789a461e..d64042645 100644 --- a/src/testdir/test_options.vim +++ b/src/testdir/test_options.vim @@ -434,6 +434,7 @@ func Test_set_errors() set nomodifiable call assert_fails('set fileencoding=latin1', 'E21:') set modifiable& + call assert_fails('set t_#-&', 'E522:') endfunc func CheckWasSet(name) @@ -946,6 +947,18 @@ func Test_opt_local_to_global() call assert_equal('gnewprg', &l:equalprg) call assert_equal('gnewprg', &equalprg) set equalprg& + + " Test for setting the global/local value of a boolean option + setglobal autoread + setlocal noautoread + call assert_false(&autoread) + set autoread< + call assert_true(&autoread) + setglobal noautoread + setlocal autoread + setlocal autoread< + call assert_false(&autoread) + set autoread& endfunc " Test for incrementing, decrementing and multiplying a number option value @@ -1121,4 +1134,22 @@ func Test_VIM_POSIX() call setenv('VIM_POSIX', saved_VIM_POSIX) endfunc +" Test for setting an option to a Vi or Vim default +func Test_opt_default() + set formatoptions&vi + call assert_equal('vt', &formatoptions) + set formatoptions&vim + call assert_equal('tcq', &formatoptions) +endfunc + +" Test for the 'cmdheight' option +func Test_cmdheight() + %bw! + let ht = &lines + set cmdheight=9999 + call assert_equal(1, winheight(0)) + call assert_equal(ht - 1, &cmdheight) + set cmdheight& +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_vartabs.vim b/src/testdir/test_vartabs.vim index 0ff1ea8ac..3b8a9ce0b 100644 --- a/src/testdir/test_vartabs.vim +++ b/src/testdir/test_vartabs.vim @@ -419,4 +419,17 @@ func Test_varsofttabstop() close! endfunc +" Setting 'shiftwidth' to a negative value, should set it to either the value +" of 'tabstop' (if 'vartabstop' is not set) or to the first value in +" 'vartabstop' +func Test_shiftwidth_vartabstop() + setlocal tabstop=7 vartabstop= + call assert_fails('set shiftwidth=-1', 'E487:') + call assert_equal(7, &shiftwidth) + setlocal tabstop=7 vartabstop=5,7,10 + call assert_fails('set shiftwidth=-1', 'E487:') + call assert_equal(5, &shiftwidth) + setlocal shiftwidth& vartabstop& tabstop& +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_window_cmd.vim b/src/testdir/test_window_cmd.vim index fda34eb46..af7c63a19 100644 --- a/src/testdir/test_window_cmd.vim +++ b/src/testdir/test_window_cmd.vim @@ -397,7 +397,15 @@ func Test_window_width() call assert_inrange(ww1, ww1 + 1, ww2) call assert_inrange(ww3, ww3 + 1, ww2) - bw Xa Xb Xc + " when the current window width is less than the new 'winwidth', the current + " window width should be increased. + enew | only + split + 10vnew + set winwidth=15 + call assert_equal(15, winwidth(0)) + + %bw! endfunc func Test_equalalways_on_close() diff --git a/src/version.c b/src/version.c index 6ae66ae28..d55ab1a24 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2979, +/**/ 2978, /**/ 2977, |