view src/testdir/test_set.vim @ 26576:5ea6db641b5e v8.2.3817

patch 8.2.3817: Vim9: Not using NL as command end does not work for :autocmd Commit: https://github.com/vim/vim/commit/f87dac04c351583241ea1c4ec4228516431e6f22 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Dec 15 17:53:40 2021 +0000 patch 8.2.3817: Vim9: Not using NL as command end does not work for :autocmd Problem: Vim9: Not using NL as command end does not work for :autocmd. Solution: Only ignore NL for commands with an expression argument.
author Bram Moolenaar <Bram@vim.org>
date Wed, 15 Dec 2021 19:00:02 +0100
parents 9a7fb0665f9f
children
line wrap: on
line source

" Tests for the :set command

source check.vim

function Test_set_backslash()
  let isk_save = &isk

  set isk=a,b,c
  set isk+=d
  call assert_equal('a,b,c,d', &isk)
  set isk+=\\,e
  call assert_equal('a,b,c,d,\,e', &isk)
  set isk-=e
  call assert_equal('a,b,c,d,\', &isk)
  set isk-=\\
  call assert_equal('a,b,c,d', &isk)

  let &isk = isk_save
endfunction

function Test_set_add()
  let wig_save = &wig

  set wildignore=*.png,
  set wildignore+=*.jpg
  call assert_equal('*.png,*.jpg', &wig)

  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

func Test_set_termcap()
  CheckNotGui

  let lines = split(execute('set termcap'), "\n")
  call assert_match('--- Terminal codes ---', lines[0])
  " four columns
  call assert_match('t_..=.*t_..=.*t_..=.*t_..=', lines[1])

  for keys_idx in range(len(lines))
    if lines[keys_idx] =~ '--- Terminal keys ---'
      break
    endif
  endfor
  call assert_true(keys_idx < len(lines))
  " three columns
  call assert_match('<[^>]*> .*<[^>]*> .*<[^>]*> ', lines[keys_idx + 1])

  let more_lines = split(execute('set! termcap'), "\n")
  for i in range(len(more_lines))
    if more_lines[i] =~ '--- Terminal keys ---'
      break
    endif
  endfor
  call assert_true(i < len(more_lines))
  call assert_true(i > keys_idx)
  call assert_true(len(more_lines) - i > len(lines) - keys_idx)
endfunc

" vim: shiftwidth=2 sts=2 expandtab