Mercurial > vim
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