view src/testdir/test_makeencoding.vim @ 13740:f309afff6f25 v8.0.1742

patch 8.0.1742: cannot get a list of all the jobs commit https://github.com/vim/vim/commit/e1fc51558dc14906a8d9f6a6e7bb1ac2a6ba8f3d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Apr 21 19:49:08 2018 +0200 patch 8.0.1742: cannot get a list of all the jobs Problem: Cannot get a list of all the jobs. Cannot get the command of the job. Solution: When job_info() is called without an argument return a list of jobs. Otherwise, include the command that the job is running. (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Sat, 21 Apr 2018 20:00:07 +0200
parents e71d3bdf3bc3
children 2dcaa860e3fc
line wrap: on
line source

" Tests for 'makeencoding'.
if !has('multi_byte')
  finish
endif

source shared.vim

let s:python = PythonProg()
if s:python == ''
  " Can't run this test.
  finish
endif

let s:script = 'test_makeencoding.py'

let s:message_tbl = {
      \ 'utf-8': 'ÀÈÌÒÙ こんにちは 你好',
      \ 'latin1': 'ÀÈÌÒÙ',
      \ 'cp932': 'こんにちは',
      \ 'cp936': '你好',
      \}


" Tests for :cgetfile and :lgetfile.
func Test_getfile()
  set errorfile=Xerror.txt
  set errorformat=%f(%l)\ :\ %m

  " :cgetfile
  for enc in keys(s:message_tbl)
    let &makeencoding = enc
    exec "silent !" . s:python . " " . s:script . " " . enc . " > " . &errorfile
    cgetfile
    copen
    call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
          \ getline('.'))
    cclose
  endfor

  " :lgetfile
  for enc in keys(s:message_tbl)
    let &makeencoding = enc
    exec "silent !" . s:python . " " . s:script . " " . enc . " > " . &errorfile
    lgetfile
    lopen
    call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
          \ getline('.'))
    lclose
  endfor

  call delete(&errorfile)
endfunc


" Tests for :grep and :lgrep.
func Test_grep()
  let &grepprg = s:python
  set grepformat=%f(%l)\ :\ %m

  " :grep
  for enc in keys(s:message_tbl)
    let &makeencoding = enc
    exec "silent grep! " . s:script . " " . enc
    copen
    call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
          \ getline('.'))
    cclose
  endfor

  " :lgrep
  for enc in keys(s:message_tbl)
    let &makeencoding = enc
    exec "silent lgrep! " . s:script . " " . enc
    lopen
    call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
          \ getline('.'))
    lclose
  endfor
endfunc


" Tests for :make and :lmake.
func Test_make()
  let &makeprg = s:python
  set errorformat=%f(%l)\ :\ %m

  " :make
  for enc in keys(s:message_tbl)
    let &makeencoding = enc
    exec "silent make! " . s:script . " " . enc
    copen
    call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
          \ getline('.'))
    cclose
  endfor

  " :lmake
  for enc in keys(s:message_tbl)
    let &makeencoding = enc
    exec "silent lmake! " . s:script . " " . enc
    lopen
    call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
          \ getline('.'))
    lclose
  endfor
endfunc