view src/testdir/test_eval_stuff.vim @ 14642:96858d612aff v8.1.0334

patch 8.1.0334: 'autowrite' takes effect when buffer is not to be written commit https://github.com/vim/vim/commit/8c9e7b00f6566dc41e794ef11c93d93b034c7134 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Aug 30 13:07:17 2018 +0200 patch 8.1.0334: 'autowrite' takes effect when buffer is not to be written Problem: 'autowrite' takes effect when buffer is not to be written. Solution: Don't write buffers that are not supposed to be written. (Even Q Jones, closes #3391) Add tests for 'autowrite'.
author Christian Brabandt <cb@256bit.org>
date Thu, 30 Aug 2018 13:15:06 +0200
parents 4a1efd1a6018
children bdbb049c2aa8
line wrap: on
line source

" Tests for various eval things.

function s:foo() abort
  try
    return [] == 0
  catch
    return 1
  endtry
endfunction

func Test_catch_return_with_error()
  call assert_equal(1, s:foo())
endfunc

func Test_nocatch_restore_silent_emsg()
  silent! try
    throw 1
  catch
  endtry
  echoerr 'wrong'
  let c1 = nr2char(screenchar(&lines, 1))
  let c2 = nr2char(screenchar(&lines, 2))
  let c3 = nr2char(screenchar(&lines, 3))
  let c4 = nr2char(screenchar(&lines, 4))
  let c5 = nr2char(screenchar(&lines, 5))
  call assert_equal('wrong', c1 . c2 . c3 . c4 . c5)
endfunc

func Test_mkdir_p()
  call mkdir('Xmkdir/nested', 'p')
  call assert_true(isdirectory('Xmkdir/nested'))
  try
    " Trying to make existing directories doesn't error
    call mkdir('Xmkdir', 'p')
    call mkdir('Xmkdir/nested', 'p')
  catch /E739:/
    call assert_report('mkdir(..., "p") failed for an existing directory')
  endtry
  " 'p' doesn't suppress real errors
  call writefile([], 'Xfile')
  call assert_fails('call mkdir("Xfile", "p")', 'E739')
  call delete('Xfile')
  call delete('Xmkdir', 'rf')
endfunc