]> granicus.if.org Git - vim/commitdiff
patch 8.2.3155: some option related code not covered by tests v8.2.3155
authorDominique Pelle <dominique.pelle@gmail.com>
Mon, 12 Jul 2021 19:43:19 +0000 (21:43 +0200)
committerBram Moolenaar <Bram@vim.org>
Mon, 12 Jul 2021 19:43:19 +0000 (21:43 +0200)
Problem:    Some option related code not covered by tests.
Solution:   Add a few test cases. (Dominique PellĂ©, closes #8552)

src/testdir/test_options.vim
src/testdir/test_set.vim
src/version.c

index dedac5a65dadfa44758226e4d4d1d773ca0aa865..e10ad5445a9a436a4776363c85eb395d2a569e89 100644 (file)
@@ -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
index 2b1e9eeee0ce4e49efa7607afb5455bfce0c3ffe..7215772a001f9c0cee1869bad39138e627319079 100644 (file)
@@ -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
index 9159011a71b1946382475e61bf99075cf15ceeaf..f2f229f91621d1c0e4626b7d5ce759771fdddeae 100644 (file)
@@ -755,6 +755,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    3155,
 /**/
     3154,
 /**/