view src/testdir/test_set.vim @ 32714:d83068c95ba0 v9.0.1681

patch 9.0.1681: Build Failure with Perl 5.38 Commit: https://github.com/vim/vim/commit/1d7caa58e3c87f75a4becbceabbd1af181ace11e Author: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu Jun 22 08:55:47 2023 +0200 patch 9.0.1681: Build Failure with Perl 5.38 Problem: Build Failure with Perl 5.38 Solution: Fix Build Failure closes: #12543, closes: #12575
author Christian Brabandt <cb@256bit.org>
date Wed, 09 Aug 2023 20:15:03 +0200
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