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 #8552)
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index dedac5a..e10ad54 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -933,6 +933,28 @@
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
@@ -1149,4 +1171,26 @@
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
+
" vim: shiftwidth=2 sts=2 expandtab