diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-09-22 11:15:35 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-09-22 12:40:26 +0800 |
commit | 800cda21641dab2411c23a95d85ecef2c731d550 (patch) | |
tree | 222e2b8982f6ee620d84387c7309d75b05c31bee /src | |
parent | 88099c11223398b2e7eb96eaa9385d24046db994 (diff) | |
download | rneovim-800cda21641dab2411c23a95d85ecef2c731d550.tar.gz rneovim-800cda21641dab2411c23a95d85ecef2c731d550.tar.bz2 rneovim-800cda21641dab2411c23a95d85ecef2c731d550.zip |
vim-patch:8.2.3155: some option related code not covered by tests
Problem: Some option related code not covered by tests.
Solution: Add a few test cases. (Dominique Pellé, closes vim/vim#8552)
https://github.com/vim/vim/commit/042414fa0053388f9a35cad61886405507554068
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/testdir/test_options.vim | 44 | ||||
-rw-r--r-- | src/nvim/testdir/test_set.vim | 19 |
2 files changed, 63 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_options.vim b/src/nvim/testdir/test_options.vim index f49d2cdf33..952975df32 100644 --- a/src/nvim/testdir/test_options.vim +++ b/src/nvim/testdir/test_options.vim @@ -947,6 +947,28 @@ func Test_opt_local_to_global() set autoread& endfunc +func Test_set_in_sandbox() + " Some boolean options cannot be set in sandbox, some can. + call assert_fails('sandbox set modelineexpr', 'E48:') + sandbox set number + call assert_true(&number) + set number& + + " Some boolean options cannot be set in sandbox, some can. + if has('python') || has('python3') + call assert_fails('sandbox set pyxversion=3', 'E48:') + endif + sandbox set tabstop=4 + call assert_equal(4, &tabstop) + set tabstop& + + " Some string options cannot be set in sandbox, some can. + call assert_fails('sandbox set backupdir=/tmp', 'E48:') + sandbox set filetype=perl + call assert_equal('perl', &filetype) + set filetype& +endfunc + " Test for incrementing, decrementing and multiplying a number option value func Test_opt_num_op() set shiftwidth=4 @@ -1131,6 +1153,28 @@ func Test_opt_errorbells() set noerrorbells endfunc +func Test_opt_scrolljump() + help + resize 10 + + " Test with positive 'scrolljump'. + set scrolljump=2 + norm! Lj + call assert_equal({'lnum':11, 'leftcol':0, 'col':0, 'topfill':0, + \ 'topline':3, 'coladd':0, 'skipcol':0, 'curswant':0}, + \ winsaveview()) + + " Test with negative 'scrolljump' (percentage of window height). + set scrolljump=-40 + norm! ggLj + call assert_equal({'lnum':11, 'leftcol':0, 'col':0, 'topfill':0, + \ 'topline':5, 'coladd':0, 'skipcol':0, 'curswant':0}, + \ winsaveview()) + + set scrolljump& + bw +endfunc + " Test for the 'cdhome' option func Test_opt_cdhome() if has('unix') || has('vms') diff --git a/src/nvim/testdir/test_set.vim b/src/nvim/testdir/test_set.vim index 2b1e9eeee0..7215772a00 100644 --- a/src/nvim/testdir/test_set.vim +++ b/src/nvim/testdir/test_set.vim @@ -26,4 +26,23 @@ function Test_set_add() let &wig = wig_save endfunction + +" :set, :setlocal, :setglobal without arguments show values of options. +func Test_set_no_arg() + set textwidth=79 + let a = execute('set') + call assert_match("^\n--- Options ---\n.*textwidth=79\\>", a) + set textwidth& + + setlocal textwidth=78 + let a = execute('setlocal') + call assert_match("^\n--- Local option values ---\n.*textwidth=78\\>", a) + setlocal textwidth& + + setglobal textwidth=77 + let a = execute('setglobal') + call assert_match("^\n--- Global option values ---\n.*textwidth=77\\>", a) + setglobal textwidth& +endfunc + " vim: shiftwidth=2 sts=2 expandtab |