mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
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)
042414fa00
This commit is contained in:
parent
88099c1122
commit
800cda2164
@ -947,6 +947,28 @@ func Test_opt_local_to_global()
|
|||||||
set autoread&
|
set autoread&
|
||||||
endfunc
|
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
|
" Test for incrementing, decrementing and multiplying a number option value
|
||||||
func Test_opt_num_op()
|
func Test_opt_num_op()
|
||||||
set shiftwidth=4
|
set shiftwidth=4
|
||||||
@ -1131,6 +1153,28 @@ func Test_opt_errorbells()
|
|||||||
set noerrorbells
|
set noerrorbells
|
||||||
endfunc
|
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
|
" Test for the 'cdhome' option
|
||||||
func Test_opt_cdhome()
|
func Test_opt_cdhome()
|
||||||
if has('unix') || has('vms')
|
if has('unix') || has('vms')
|
||||||
|
@ -26,4 +26,23 @@ function Test_set_add()
|
|||||||
let &wig = wig_save
|
let &wig = wig_save
|
||||||
endfunction
|
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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
Loading…
Reference in New Issue
Block a user