mirror of
https://github.com/neovim/neovim.git
synced 2025-09-05 19:08:15 +00:00
vim-patch:9.0.0380: deleting files in tests is a hassle
Problem: Deleting files in tests is a hassle.
Solution: Use the new 'D' flag of writefile().
e1f3ab73bc
vim-patch:e1f3ab73bc7c
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -97,7 +97,7 @@ endfunc
|
||||
func Test_argadd_empty_curbuf()
|
||||
new
|
||||
let curbuf = bufnr('%')
|
||||
call writefile(['test', 'Xargadd'], 'Xargadd')
|
||||
call writefile(['test', 'Xargadd'], 'Xargadd', 'D')
|
||||
" must not re-use the current buffer.
|
||||
argadd Xargadd
|
||||
call assert_equal(curbuf, bufnr('%'))
|
||||
@@ -516,9 +516,9 @@ endfunc
|
||||
" Test for autocommand that redefines the argument list, when doing ":all".
|
||||
func Test_arglist_autocmd()
|
||||
autocmd BufReadPost Xxx2 next Xxx2 Xxx1
|
||||
call writefile(['test file Xxx1'], 'Xxx1')
|
||||
call writefile(['test file Xxx2'], 'Xxx2')
|
||||
call writefile(['test file Xxx3'], 'Xxx3')
|
||||
call writefile(['test file Xxx1'], 'Xxx1', 'D')
|
||||
call writefile(['test file Xxx2'], 'Xxx2', 'D')
|
||||
call writefile(['test file Xxx3'], 'Xxx3', 'D')
|
||||
|
||||
new
|
||||
" redefine arglist; go to Xxx1
|
||||
@@ -534,18 +534,14 @@ func Test_arglist_autocmd()
|
||||
|
||||
autocmd! BufReadPost Xxx2
|
||||
enew! | only
|
||||
call delete('Xxx1')
|
||||
call delete('Xxx2')
|
||||
call delete('Xxx3')
|
||||
argdelete Xxx*
|
||||
bwipe! Xxx1 Xxx2 Xxx3
|
||||
endfunc
|
||||
|
||||
func Test_arg_all_expand()
|
||||
call writefile(['test file Xxx1'], 'Xx x')
|
||||
call writefile(['test file Xxx1'], 'Xx x', 'D')
|
||||
next notexist Xx\ x runtest.vim
|
||||
call assert_equal('notexist Xx\ x runtest.vim', expand('##'))
|
||||
call delete('Xx x')
|
||||
endfunc
|
||||
|
||||
func Test_large_arg()
|
||||
|
@@ -92,12 +92,12 @@ func Test_assert_equalfile()
|
||||
call remove(v:errors, 0)
|
||||
|
||||
let goodtext = ["one", "two", "three"]
|
||||
call writefile(goodtext, 'Xone')
|
||||
call writefile(goodtext, 'Xone', 'D')
|
||||
call assert_equal(1, 'Xone'->assert_equalfile('xyzxyz'))
|
||||
call assert_match("E485: Can't read file xyzxyz", v:errors[0])
|
||||
call remove(v:errors, 0)
|
||||
|
||||
call writefile(goodtext, 'Xtwo')
|
||||
call writefile(goodtext, 'Xtwo', 'D')
|
||||
call assert_equal(0, assert_equalfile('Xone', 'Xtwo'))
|
||||
|
||||
call writefile([goodtext[0]], 'Xone')
|
||||
@@ -127,9 +127,6 @@ func Test_assert_equalfile()
|
||||
call assert_equal(1, assert_equalfile('Xone', 'Xtwo', 'a message'))
|
||||
call assert_match("a message: difference at byte 234, line 1 after", v:errors[0])
|
||||
call remove(v:errors, 0)
|
||||
|
||||
call delete('Xone')
|
||||
call delete('Xtwo')
|
||||
endfunc
|
||||
|
||||
func Test_assert_notequal()
|
||||
|
@@ -24,12 +24,12 @@ endfunc
|
||||
" Test for the CursorHold autocmd
|
||||
func Test_CursorHold_autocmd()
|
||||
CheckRunVimInTerminal
|
||||
call writefile(['one', 'two', 'three'], 'XoneTwoThree')
|
||||
call writefile(['one', 'two', 'three'], 'XoneTwoThree', 'D')
|
||||
let before =<< trim END
|
||||
set updatetime=10
|
||||
au CursorHold * call writefile([line('.')], 'XCHoutput', 'a')
|
||||
END
|
||||
call writefile(before, 'XCHinit')
|
||||
call writefile(before, 'XCHinit', 'D')
|
||||
let buf = RunVimInTerminal('-S XCHinit XoneTwoThree', {})
|
||||
call term_sendkeys(buf, "G")
|
||||
call term_wait(buf, 50)
|
||||
@@ -44,9 +44,7 @@ func Test_CursorHold_autocmd()
|
||||
call WaitForAssert({-> assert_equal(['1', '2', '3'], readfile('XCHoutput')[-3:-1])})
|
||||
call StopVimInTerminal(buf)
|
||||
|
||||
call delete('XCHinit')
|
||||
call delete('XCHoutput')
|
||||
call delete('XoneTwoThree')
|
||||
endfunc
|
||||
|
||||
if has('timers')
|
||||
@@ -112,7 +110,7 @@ if has('timers')
|
||||
augroup set_tabstop
|
||||
au OptionSet tabstop call timer_start(1, {-> execute("echo 'Handler called'", "")})
|
||||
augroup END
|
||||
call writefile(['vim: set ts=7 sw=5 :', 'something'], 'XoptionsetModeline')
|
||||
call writefile(['vim: set ts=7 sw=5 :', 'something'], 'XoptionsetModeline', 'D')
|
||||
set modeline
|
||||
let v:errmsg = ''
|
||||
call assert_fails('split XoptionsetModeline', 'E12:')
|
||||
@@ -124,7 +122,6 @@ if has('timers')
|
||||
augroup END
|
||||
bwipe!
|
||||
set ts&
|
||||
call delete('XoptionsetModeline')
|
||||
call test_override('starting', 0)
|
||||
endfunc
|
||||
|
||||
@@ -234,8 +231,8 @@ endfunc
|
||||
|
||||
func Test_autocmd_dummy_wipeout()
|
||||
" prepare files
|
||||
call writefile([''], 'Xdummywipetest1.txt')
|
||||
call writefile([''], 'Xdummywipetest2.txt')
|
||||
call writefile([''], 'Xdummywipetest1.txt', 'D')
|
||||
call writefile([''], 'Xdummywipetest2.txt', 'D')
|
||||
augroup test_bufunload_group
|
||||
autocmd!
|
||||
autocmd BufUnload * call add(s:li, "bufunload")
|
||||
@@ -249,8 +246,6 @@ func Test_autocmd_dummy_wipeout()
|
||||
call assert_equal(["bufunload", "bufwipeout"], s:li)
|
||||
|
||||
bwipeout
|
||||
call delete('Xdummywipetest1.txt')
|
||||
call delete('Xdummywipetest2.txt')
|
||||
au! test_bufunload_group
|
||||
augroup! test_bufunload_group
|
||||
endfunc
|
||||
@@ -974,13 +969,13 @@ func Test_autocmd_bufwipe_in_SessLoadPost()
|
||||
au VimLeave * call WriteErrors()
|
||||
[CODE]
|
||||
|
||||
call writefile(content, 'Xvimrc')
|
||||
call writefile(content, 'Xvimrc', 'D')
|
||||
call system(GetVimCommand('Xvimrc') .. ' --headless --noplugins -S Session.vim -c cq')
|
||||
let errors = join(readfile('Xerrors'))
|
||||
call assert_match('E814', errors)
|
||||
call assert_match('E814:', errors)
|
||||
|
||||
set swapfile
|
||||
for file in ['Session.vim', 'Xvimrc', 'Xerrors']
|
||||
for file in ['Session.vim', 'Xerrors']
|
||||
call delete(file)
|
||||
endfor
|
||||
endfunc
|
||||
@@ -997,11 +992,10 @@ func Test_autocmd_blast_badd()
|
||||
qall
|
||||
[CODE]
|
||||
|
||||
call writefile(content, 'XblastBall')
|
||||
call writefile(content, 'XblastBall', 'D')
|
||||
call system(GetVimCommand() .. ' --clean -S XblastBall')
|
||||
call assert_match('OK', readfile('Xerrors')->join())
|
||||
|
||||
call delete('XblastBall')
|
||||
call delete('Xerrors')
|
||||
endfunc
|
||||
|
||||
@@ -1034,7 +1028,7 @@ func Test_autocmd_bufwipe_in_SessLoadPost2()
|
||||
au VimLeave * call WriteErrors()
|
||||
[CODE]
|
||||
|
||||
call writefile(content, 'Xvimrc')
|
||||
call writefile(content, 'Xvimrc', 'D')
|
||||
call system(GetVimCommand('Xvimrc') .. ' --headless --noplugins -S Session.vim -c cq')
|
||||
let errors = join(readfile('Xerrors'))
|
||||
" This probably only ever matches on unix.
|
||||
@@ -1042,7 +1036,7 @@ func Test_autocmd_bufwipe_in_SessLoadPost2()
|
||||
call assert_match('SessionLoadPost DONE', errors)
|
||||
|
||||
set swapfile
|
||||
for file in ['Session.vim', 'Xvimrc', 'Xerrors']
|
||||
for file in ['Session.vim', 'Xerrors']
|
||||
call delete(file)
|
||||
endfor
|
||||
endfunc
|
||||
@@ -1745,9 +1739,9 @@ endfunc
|
||||
func Test_Acmd_BufAll()
|
||||
enew!
|
||||
%bwipe!
|
||||
call writefile(['Test file Xxx1'], 'Xxx1')
|
||||
call writefile(['Test file Xxx2'], 'Xxx2')
|
||||
call writefile(['Test file Xxx3'], 'Xxx3')
|
||||
call writefile(['Test file Xxx1'], 'Xxx1', 'D')
|
||||
call writefile(['Test file Xxx2'], 'Xxx2', 'D')
|
||||
call writefile(['Test file Xxx3'], 'Xxx3', 'D')
|
||||
|
||||
" Add three files to the buffer list
|
||||
split Xxx1
|
||||
@@ -1769,9 +1763,6 @@ func Test_Acmd_BufAll()
|
||||
|
||||
au! BufReadPost
|
||||
%bwipe!
|
||||
call delete('Xxx1')
|
||||
call delete('Xxx2')
|
||||
call delete('Xxx3')
|
||||
enew! | only
|
||||
endfunc
|
||||
|
||||
@@ -1781,11 +1772,11 @@ func Test_Acmd_BufEnter()
|
||||
%bwipe!
|
||||
call writefile(['start of test file Xxx1',
|
||||
\ "\<Tab>this is a test",
|
||||
\ 'end of test file Xxx1'], 'Xxx1')
|
||||
\ 'end of test file Xxx1'], 'Xxx1', 'D')
|
||||
call writefile(['start of test file Xxx2',
|
||||
\ 'vim: set noai :',
|
||||
\ "\<Tab>this is a test",
|
||||
\ 'end of test file Xxx2'], 'Xxx2')
|
||||
\ 'end of test file Xxx2'], 'Xxx2', 'D')
|
||||
|
||||
au BufEnter Xxx2 brew
|
||||
set ai modeline modelines=3
|
||||
@@ -1807,8 +1798,6 @@ func Test_Acmd_BufEnter()
|
||||
call assert_equal(4, line('.'))
|
||||
|
||||
%bwipe!
|
||||
call delete('Xxx1')
|
||||
call delete('Xxx2')
|
||||
set ai&vim modeline&vim modelines&vim
|
||||
endfunc
|
||||
|
||||
@@ -1835,8 +1824,8 @@ func Test_BufLeave_Wipe()
|
||||
let content = ['start of test file Xxx',
|
||||
\ 'this is a test',
|
||||
\ 'end of test file Xxx']
|
||||
call writefile(content, 'Xxx1')
|
||||
call writefile(content, 'Xxx2')
|
||||
call writefile(content, 'Xxx1', 'D')
|
||||
call writefile(content, 'Xxx2', 'D')
|
||||
|
||||
au BufLeave Xxx2 bwipe
|
||||
edit Xxx1
|
||||
@@ -1862,8 +1851,6 @@ func Test_BufLeave_Wipe()
|
||||
let g:bufinfo = getbufinfo()
|
||||
call assert_equal(1, len(g:bufinfo))
|
||||
|
||||
call delete('Xxx1')
|
||||
call delete('Xxx2')
|
||||
call delete('test.out')
|
||||
%bwipe
|
||||
au! BufLeave
|
||||
@@ -1990,32 +1977,30 @@ func Test_BufWritePre()
|
||||
au BufWritePre Xxx1 bunload
|
||||
au BufWritePre Xxx2 bwipe
|
||||
|
||||
call writefile(['start of Xxx1', 'test', 'end of Xxx1'], 'Xxx1')
|
||||
call writefile(['start of Xxx2', 'test', 'end of Xxx2'], 'Xxx2')
|
||||
call writefile(['start of Xxx1', 'test', 'end of Xxx1'], 'Xxx1', 'D')
|
||||
call writefile(['start of Xxx2', 'test', 'end of Xxx2'], 'Xxx2', 'D')
|
||||
|
||||
edit Xtest
|
||||
e! Xxx2
|
||||
bdel Xtest
|
||||
e Xxx1
|
||||
" write it, will unload it and give an error msg
|
||||
call assert_fails('w', 'E203')
|
||||
call assert_fails('w', 'E203:')
|
||||
call assert_equal('Xxx2', bufname('%'))
|
||||
edit Xtest
|
||||
e! Xxx2
|
||||
bwipe Xtest
|
||||
" write it, will delete the buffer and give an error msg
|
||||
call assert_fails('w', 'E203')
|
||||
call assert_fails('w', 'E203:')
|
||||
call assert_equal('Xxx1', bufname('%'))
|
||||
au! BufWritePre
|
||||
call delete('Xxx1')
|
||||
call delete('Xxx2')
|
||||
endfunc
|
||||
|
||||
" Test for BufUnload autocommand that unloads all the other buffers
|
||||
func Test_bufunload_all()
|
||||
let g:test_is_flaky = 1
|
||||
call writefile(['Test file Xxx1'], 'Xxx1')"
|
||||
call writefile(['Test file Xxx2'], 'Xxx2')"
|
||||
call writefile(['Test file Xxx1'], 'Xxx1', 'D')"
|
||||
call writefile(['Test file Xxx2'], 'Xxx2', 'D')"
|
||||
|
||||
let content =<< trim [CODE]
|
||||
func UnloadAllBufs()
|
||||
@@ -2035,15 +2020,12 @@ func Test_bufunload_all()
|
||||
q
|
||||
[CODE]
|
||||
|
||||
call writefile(content, 'Xtest')
|
||||
call writefile(content, 'Xbunloadtest', 'D')
|
||||
|
||||
call delete('Xout')
|
||||
call system(GetVimCommandClean() .. ' -N --headless -S Xtest')
|
||||
call system(GetVimCommandClean() .. ' -N --headless -S Xbunloadtest')
|
||||
call assert_true(filereadable('Xout'))
|
||||
|
||||
call delete('Xxx1')
|
||||
call delete('Xxx2')
|
||||
call delete('Xtest')
|
||||
call delete('Xout')
|
||||
endfunc
|
||||
|
||||
@@ -2071,7 +2053,7 @@ endfunc
|
||||
|
||||
" Test for "*Cmd" autocommands
|
||||
func Test_Cmd_Autocmds()
|
||||
call writefile(['start of Xxx', "\tabc2", 'end of Xxx'], 'Xxx')
|
||||
call writefile(['start of Xxx', "\tabc2", 'end of Xxx'], 'Xxx', 'D')
|
||||
|
||||
enew!
|
||||
au BufReadCmd XtestA 0r Xxx|$del
|
||||
@@ -2146,7 +2128,6 @@ func Test_Cmd_Autocmds()
|
||||
au! FileWriteCmd
|
||||
au! FileAppendCmd
|
||||
%bwipe!
|
||||
call delete('Xxx')
|
||||
enew!
|
||||
endfunc
|
||||
|
||||
@@ -2171,7 +2152,7 @@ func Test_BufReadCmd()
|
||||
autocmd BufReadCmd *.test call s:ReadFile()
|
||||
autocmd BufWriteCmd *.test call s:WriteFile()
|
||||
|
||||
call writefile(['one', 'two', 'three'], 'Xcmd.test')
|
||||
call writefile(['one', 'two', 'three'], 'Xcmd.test', 'D')
|
||||
edit Xcmd.test
|
||||
call assert_match('Xcmd.test" line 1 of 3', execute('file'))
|
||||
normal! Gofour
|
||||
@@ -2179,7 +2160,6 @@ func Test_BufReadCmd()
|
||||
call assert_equal(['one', 'two', 'three', 'four'], readfile('Xcmd.test'))
|
||||
|
||||
bwipe!
|
||||
call delete('Xcmd.test')
|
||||
au! BufReadCmd
|
||||
au! BufWriteCmd
|
||||
endfunc
|
||||
@@ -2543,7 +2523,7 @@ func Test_Changed_FirstTime()
|
||||
let g:test_is_flaky = 1
|
||||
|
||||
" Prepare file for TextChanged event.
|
||||
call writefile([''], 'Xchanged.txt')
|
||||
call writefile([''], 'Xchanged.txt', 'D')
|
||||
let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': 3})
|
||||
call assert_equal('running', term_getstatus(buf))
|
||||
" Wait for the ruler (in the status line) to be shown.
|
||||
@@ -2555,7 +2535,6 @@ func Test_Changed_FirstTime()
|
||||
call assert_equal([''], readfile('Xchanged.txt'))
|
||||
|
||||
" clean up
|
||||
call delete('Xchanged.txt')
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
@@ -2642,13 +2621,12 @@ func Test_autocmd_nested_switch_window()
|
||||
autocmd BufReadPost * autocmd SafeState * ++once foldclosed('.')
|
||||
autocmd WinEnter * matchadd('ErrorMsg', 'pat')
|
||||
END
|
||||
call writefile(lines, 'Xautoscript')
|
||||
call writefile(lines, 'Xautoscript', 'D')
|
||||
let buf = RunVimInTerminal('-S Xautoscript', {'rows': 10})
|
||||
call VerifyScreenDump(buf, 'Test_autocmd_nested_switch', {})
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('Xautofile')
|
||||
call delete('Xautoscript')
|
||||
endfunc
|
||||
|
||||
func Test_autocmd_once()
|
||||
@@ -2801,7 +2779,7 @@ func Test_ReadWrite_Autocmds()
|
||||
au FileAppendPost *.out !cat Xtest.c >> test.out
|
||||
augroup END
|
||||
|
||||
call writefile(['/*', ' * Here is a new .c file', ' */'], 'Xtest.c')
|
||||
call writefile(['/*', ' * Here is a new .c file', ' */'], 'Xtest.c', 'D')
|
||||
new foo.c " should load Xtest.c
|
||||
call assert_equal(['/*', ' * Here is a new .c file', ' */'], getline(2, 4))
|
||||
w! >> test.out " append it to the output file
|
||||
@@ -2925,7 +2903,6 @@ func Test_ReadWrite_Autocmds()
|
||||
|
||||
au! FileChangedShell
|
||||
call delete('Xtestfile.gz')
|
||||
call delete('Xtest.c')
|
||||
call delete('test.out')
|
||||
endfunc
|
||||
|
||||
@@ -2972,10 +2949,10 @@ func Test_autocmd_SafeState()
|
||||
call timer_start(10, {id -> execute('let g:again ..= "t"')})
|
||||
endfunc
|
||||
END
|
||||
call writefile(lines, 'XSafeState')
|
||||
call writefile(lines, 'XSafeState', 'D')
|
||||
let buf = RunVimInTerminal('-S XSafeState', #{rows: 6})
|
||||
|
||||
" Sometimes we loop to handle a K_IGNORE, SafeState may be trigered once or
|
||||
" Sometimes we loop to handle a K_IGNORE, SafeState may be triggered once or
|
||||
" more often.
|
||||
call term_sendkeys(buf, ":echo g:safe\<CR>")
|
||||
call WaitForAssert({-> assert_match('^\d ', term_getline(buf, 6))}, 1000)
|
||||
@@ -2992,7 +2969,6 @@ func Test_autocmd_SafeState()
|
||||
call WaitForAssert({-> assert_match('xtx', term_getline(buf, 6))}, 1000)
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('XSafeState')
|
||||
endfunc
|
||||
|
||||
func Test_autocmd_CmdWinEnter()
|
||||
@@ -3244,11 +3220,11 @@ func Test_BufReadPre_delfile()
|
||||
au!
|
||||
autocmd BufReadPre XbufreadPre call delete('XbufreadPre')
|
||||
augroup END
|
||||
call writefile([], 'XbufreadPre')
|
||||
call writefile([], 'XbufreadPre', 'D')
|
||||
call assert_fails('new XbufreadPre', 'E200:')
|
||||
call assert_equal('XbufreadPre', @%)
|
||||
call assert_equal(1, &readonly)
|
||||
call delete('XbufreadPre')
|
||||
|
||||
augroup TestAuCmd
|
||||
au!
|
||||
augroup END
|
||||
@@ -3261,11 +3237,11 @@ func Test_BufReadPre_changebuf()
|
||||
au!
|
||||
autocmd BufReadPre Xchangebuf edit Xsomeotherfile
|
||||
augroup END
|
||||
call writefile([], 'Xchangebuf')
|
||||
call writefile([], 'Xchangebuf', 'D')
|
||||
call assert_fails('new Xchangebuf', 'E201:')
|
||||
call assert_equal('Xsomeotherfile', @%)
|
||||
call assert_equal(1, &readonly)
|
||||
call delete('Xchangebuf')
|
||||
|
||||
augroup TestAuCmd
|
||||
au!
|
||||
augroup END
|
||||
|
Reference in New Issue
Block a user