changeset 25238:dd98794f7d8c v8.2.3155

patch 8.2.3155: some option related code not covered by tests Commit: https://github.com/vim/vim/commit/042414fa0053388f9a35cad61886405507554068 Author: Dominique Pelle <dominique.pelle@gmail.com> Date: Mon Jul 12 21:43:19 2021 +0200 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 https://github.com/vim/vim/issues/8552)
author Bram Moolenaar <Bram@vim.org>
date Mon, 12 Jul 2021 21:45:06 +0200
parents 416d488ca356
children 000aae469911
files src/testdir/test_options.vim src/testdir/test_set.vim src/version.c
diffstat 3 files changed, 65 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -933,6 +933,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
@@ -1149,4 +1171,26 @@ 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
+
 " vim: shiftwidth=2 sts=2 expandtab
--- a/src/testdir/test_set.vim
+++ b/src/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
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3155,
+/**/
     3154,
 /**/
     3153,