view src/testdir/test_man.vim @ 33333:fed9c5ffde42

patch 9.0.1931: make test_compilers fails on ubuntu Commit: https://github.com/vim/vim/commit/ca0ffc0d63727850c520a80929698e4c199b17f4 Author: Dominique Pell? <dominique.pelle@tomtom.com> Date: Sun Sep 24 22:57:41 2023 +0200 patch 9.0.1931: make test_compilers fails on ubuntu Problem: make test_compilers fails on ubuntu Solution: set LC_ALL=C fix: make test_compiler failed on xubuntu 22.04.3 Problem: 'make test_compiler' failed on Linux xubuntu 22.04.3 but succeeded on e.g. macOS. To reproduce: ``` $ ./configure --with-features=huge --enable-gui=no --enable-perlinterp=yes $ make -j12 $ cd vim/src/testdir $ make test_compiler ...snip... Found errors in Test_compiler(): command line..script /home/dope/sb/vim/src/testdir/runtest.vim[601]..function RunTheTest[54]..Test_compiler line 24: command did not fail: clist command line..script /home/dope/sb/vim/src/testdir/runtest.vim[601]..function RunTheTest[54]..Test_compiler line 30: Pattern '\\n \\d\\+ Xfoo.pl:3: Global symbol "$foo" requires explicit package name' does not match '\n19 Xfoo.pl:3: Global symbol "$foo" requires explicit package name (did you forget to declare "my $foo"?)' make: *** [Makefile:70: test_compiler] Error 1 ``` Solution: set `LC_ALL` to "C" in `Test_compiler()` closes: #13173 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Dominique Pell? <dominique.pelle@tomtom.com>
author Christian Brabandt <cb@256bit.org>
date Sun, 24 Sep 2023 23:00:04 +0200
parents 3aaaa65dcf6e
children
line wrap: on
line source

" Test specifically for the Man filetype plugin.

runtime ftplugin/man.vim

func Test_g_ft_man_open_mode()
  vnew
  let l:h = winheight(1)
  q
  let l:w = winwidth(1)

  " split horizontally
  let wincnt = winnr('$')
  Man vim
  if wincnt == winnr('$')
    " Vim manual page cannot be found.
    return
  endif

  call assert_inrange(l:w - 2, l:w + 2, winwidth(1))
  call assert_true(l:h > winheight(1))
  call assert_equal(1, tabpagenr('$'))
  call assert_equal(1, tabpagenr())
  q

  " split horizontally
  let g:ft_man_open_mode = "horz"
  Man vim
  call assert_inrange(l:w - 2, l:w + 2, winwidth(1))
  call assert_true(l:h > winheight(1))
  call assert_equal(1, tabpagenr('$'))
  call assert_equal(1, tabpagenr())
  q

  " split vertically
  let g:ft_man_open_mode = "vert"
  Man vim
  call assert_true(l:w > winwidth(1))
  call assert_equal(l:h, winheight(1))
  call assert_equal(1, tabpagenr('$'))
  call assert_equal(1, tabpagenr())
  q

  " separate tab
  let g:ft_man_open_mode = "tab"
  Man vim
  call assert_inrange(l:w - 2, l:w + 2, winwidth(1))
  call assert_inrange(l:h - 1, l:h + 1, winheight(1))
  call assert_equal(2, tabpagenr('$'))
  call assert_equal(2, tabpagenr())
  q

  unlet g:ft_man_open_mode
endfunc

func Test_nomodifiable()
  let wincnt = winnr('$')
  Man vim
  if wincnt == winnr('$')
    " Vim manual page cannot be found.
    return
  endif
  call assert_false(&l:modifiable)
  q
endfunc

func Test_buffer_count_hidden()
  %bw!
  set hidden

  call assert_equal(1, len(getbufinfo()))

  let wincnt = winnr('$')
  Man vim
  if wincnt == winnr('$')
    " Vim manual page cannot be found.
    return
  endif

  call assert_equal(1, len(getbufinfo({'buflisted':1})))
  call assert_equal(2, len(getbufinfo()))
  q

  Man vim

  call assert_equal(1, len(getbufinfo({'buflisted':1})))
  call assert_equal(2, len(getbufinfo()))
  q

  set hidden&
endfunc

" Check that we do not alter the settings in the initial window.
func Test_local_options()
  %bw!
  set foldcolumn=1 number

  let wincnt = winnr('$')
  Man vim
  if wincnt == winnr('$')
    " Vim manual page cannot be found.
    return
  endif

  " man page
  call assert_false(&nu)
  call assert_equal(0, &fdc)

  " initial window
  wincmd p
  call assert_true(&nu)
  call assert_equal(1, &fdc)

  %bw!
  set foldcolumn& number&
endfunc

" Check that the unnamed register is not overwritten.
func Test_keep_unnamed_register()
  %bw!

  let @" = '---'

  let wincnt = winnr('$')
  Man vim
  if wincnt == winnr('$')
    " Vim manual page cannot be found.
    return
  endif

  call assert_equal('---', @")

  %bw!
endfunc

" Check that underlying shell command arguments are escaped.
func Test_Man_uses_shellescape()
  Man `touch\ Xbar` `touch\ Xfoo`

  redir => msg
  1messages
  redir END
  call assert_match('no manual entry for "`touch Xfoo`"', msg)

  call assert_false(filereadable('Xbar'))
  call assert_false(filereadable('Xfoo'))
endfunc


" vim: shiftwidth=2 sts=2 expandtab