endfunc
func Test_mkdir_p()
- call mkdir('Xmkdir/nested', 'p')
+ call mkdir('Xmkdir/nested', 'pR')
call assert_true(isdirectory('Xmkdir/nested'))
try
" Trying to make existing directories doesn't error
call assert_report('mkdir(..., "p") failed for an existing directory')
endtry
" 'p' doesn't suppress real errors
- call writefile([], 'Xmkdirfile')
+ call writefile([], 'Xmkdirfile', 'D')
call assert_fails('call mkdir("Xmkdirfile", "p")', 'E739:')
- call delete('Xmkdirfile')
- call delete('Xmkdir', 'rf')
+
call assert_equal(0, mkdir(test_null_string()))
call assert_fails('call mkdir([])', 'E730:')
call assert_fails('call mkdir("abc", [], [])', 'E745:')
111111111111111111111111 for line in ['one']
endfor
END
- call writefile(lines, 'XinvalidFor')
+ call writefile(lines, 'XinvalidFor', 'D')
" only test that this doesn't crash
call RunVim([], [], '-u NONE -e -s -S XinvalidFor -c qa')
-
- call delete('XinvalidFor')
endfunc
func Test_readfile_binary()
endfunc
func Test_readfile_binary_empty()
- call writefile([], 'Xempty-file')
+ call writefile([], 'Xempty-file', 'D')
" This used to compare uninitialized memory in Vim <= 8.2.4065
call assert_equal([''], readfile('Xempty-file', 'b'))
- call delete('Xempty-file')
endfunc
func Test_readfile_bom()
endfunc
func Test_readfile_max()
- call writefile(range(1, 4), 'XReadfile_max')
+ call writefile(range(1, 4), 'XReadfile_max', 'D')
call assert_equal(['1', '2'], readfile('XReadfile_max', '', 2))
call assert_equal(['3', '4'], readfile('XReadfile_max', '', -2))
- call delete('XReadfile_max')
endfunc
func Test_let_errmsg()
endfunc
func Test_scriptversion_fail()
- call writefile(['scriptversion 9'], 'Xversionscript')
+ call writefile(['scriptversion 9'], 'Xversionscript', 'D')
call assert_fails('source Xversionscript', 'E999:')
- call delete('Xversionscript')
endfunc
func Test_execute_cmd_with_null()
call writefile(['done'], 'Xdidexmode')
qall!
END
- call writefile(lines, 'Xexmodescript')
+ call writefile(lines, 'Xexmodescript', 'D')
call assert_equal(1, RunVim([], [], '-e -s -S Xexmodescript'))
call assert_equal(['done'], readfile('Xdidexmode'))
call delete('logfile')
call delete('Xdidexmode')
- call delete('Xexmodescript')
endfunc
func Test_ex_mode_count_overflow()
call writefile(['done'], 'Xdidexmode')
qall!
END
- call writefile(lines, 'Xexmodescript')
+ call writefile(lines, 'Xexmodescript', 'D')
call assert_equal(1, RunVim([], [], '-e -s -S Xexmodescript -c qa'))
call assert_equal(['done'], readfile('Xdidexmode'))
call delete('Xdidexmode')
- call delete('Xexmodescript')
endfunc
func Test_ex_mode_large_indent()
0norm0V:\e
:qall!
END
- call writefile(lines, 'Xexmodescript')
+ call writefile(lines, 'Xexmodescript', 'D')
call assert_equal(1, RunVim([], [], '-u NONE -e -s -S Xexmodescript'))
- call delete('Xexmodescript')
-
" This may cause a dialog to be displayed for an empty command, ignore it.
call delete('guidialogfile')
endfunc
" Test for the :drop command
func Test_drop_cmd()
- call writefile(['L1', 'L2'], 'Xdropfile')
+ call writefile(['L1', 'L2'], 'Xdropfile', 'D')
enew | only
drop Xdropfile
call assert_equal('L2', getline(2))
" Check for setting the argument list
call assert_equal(['Xdropfile'], argv())
enew | only!
- call delete('Xdropfile')
endfunc
" Test for the :append command
endfunc
call timer_start(10, 'Timer')
END
- call writefile(lines, 'Xtest_append_cmd_empty_buf')
+ call writefile(lines, 'Xtest_append_cmd_empty_buf', 'D')
let buf = RunVimInTerminal('-S Xtest_append_cmd_empty_buf', {'rows': 6})
call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))})
call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))})
" clean up
call StopVimInTerminal(buf)
- call delete('Xtest_append_cmd_empty_buf')
endfunc
" Test for the :insert command
endfunc
call timer_start(10, 'Timer')
END
- call writefile(lines, 'Xtest_insert_cmd_empty_buf')
+ call writefile(lines, 'Xtest_insert_cmd_empty_buf', 'D')
let buf = RunVimInTerminal('-S Xtest_insert_cmd_empty_buf', {'rows': 6})
call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))})
call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))})
" clean up
call StopVimInTerminal(buf)
- call delete('Xtest_insert_cmd_empty_buf')
endfunc
" Test for the :change command
CheckNotGui
CheckRunVimInTerminal
- call writefile(['foo1'], 'Xfoo')
- call writefile(['bar1'], 'Xbar')
+ call writefile(['foo1'], 'Xfoo', 'D')
+ call writefile(['bar1'], 'Xbar', 'D')
" Test for saving all the modified buffers
let lines =<< trim END
call setline(1, 'bar2')
wincmd b
END
- call writefile(lines, 'Xscript')
+ call writefile(lines, 'Xscript', 'D')
let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
call term_sendkeys(buf, ":confirm qall\n")
call WaitForAssert({-> assert_match('\[Y\]es, (N)o, Save (A)ll, (D)iscard All, (C)ancel: ', term_getline(buf, 20))}, 1000)
call assert_equal(['foo4'], readfile('Xfoo'))
call assert_equal(['bar2'], readfile('Xbar'))
-
- call delete('Xscript')
- call delete('Xfoo')
- call delete('Xbar')
endfunc
func Test_confirm_cmd_cancel()
new
call setline(1, 'abc')
END
- call writefile(lines, 'Xscript')
+ call writefile(lines, 'Xscript', 'D')
let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
call term_sendkeys(buf, ":confirm close\n")
call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$',
call WaitForAssert({-> assert_match('^ *0,0-1 All$',
\ term_getline(buf, 20))}, 1000)
call StopVimInTerminal(buf)
- call delete('Xscript')
endfunc
" The ":confirm" prompt was sometimes used with the terminal in cooked mode.
CheckNotGui
CheckRunVimInTerminal
- call writefile(['foo'], 'Xfoo')
+ call writefile(['foo'], 'Xfoo', 'D')
let lines =<< trim END
set hidden nomore
call setline(1, 'abc')
edit Xfoo
END
- call writefile(lines, 'Xscript')
+ call writefile(lines, 'Xscript', 'D')
let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
call term_sendkeys(buf, ":confirm q\n")
call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$',
call term_sendkeys(buf, 'C')
call WaitForAssert({-> assert_notmatch('^\[Y\]es, (N)o, (C)ancel: C*$',
\ term_getline(buf, 20))}, 1000)
- call StopVimInTerminal(buf)
- call delete('Xscript')
- call delete('Xfoo')
+ call StopVimInTerminal(buf)
endfunc
func Test_confirm_write_ro()
CheckNotGui
CheckRunVimInTerminal
- call writefile(['foo'], 'Xconfirm_write_ro')
+ call writefile(['foo'], 'Xconfirm_write_ro', 'D')
let lines =<< trim END
set nobackup ff=unix cmdheight=2
edit Xconfirm_write_ro
norm Abar
END
- call writefile(lines, 'Xscript')
+ call writefile(lines, 'Xscript', 'D')
let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
" Try to write with 'ro' option.
call assert_equal(['foo'], readfile('Xconfirm_write_ro'))
call StopVimInTerminal(buf)
- call delete('Xscript')
- call delete('Xconfirm_write_ro')
endfunc
func Test_confirm_write_partial_file()
CheckNotGui
CheckRunVimInTerminal
- call writefile(['a', 'b', 'c', 'd'], 'Xwrite_partial')
+ call writefile(['a', 'b', 'c', 'd'], 'Xwrite_partial', 'D')
call writefile(['set nobackup ff=unix cmdheight=2',
- \ 'edit Xwrite_partial'], 'Xscript')
+ \ 'edit Xwrite_partial'], 'Xscript', 'D')
let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
call term_sendkeys(buf, ":confirm 2,3w\n")
call assert_equal(['b', 'c'], readfile('Xwrite_partial'))
call StopVimInTerminal(buf)
- call delete('Xwrite_partial')
- call delete('Xscript')
endfunc
" Test for the :print command
CheckNotRoot
" Redirecting to a read-only file
- call writefile([], 'Xredirfile')
+ call writefile([], 'Xredirfile', 'D')
call setfperm('Xredirfile', 'r--r--r--')
call assert_fails('redir! > Xredirfile', 'E190:')
- call delete('Xredirfile')
endfunc
" Test for the :filetype command
" Test for the :read command
func Test_read_cmd()
- call writefile(['one'], 'Xcmdfile')
+ call writefile(['one'], 'Xcmdfile', 'D')
new
call assert_fails('read', 'E32:')
edit Xcmdfile
call feedkeys("Qr Xcmdfile\<CR>visual\<CR>", 'xt')
call assert_equal(['one'], getline(1, '$'))
close!
- call delete('Xcmdfile')
endfunc
" Test for running Ex commands when text is locked.
" Test :write after changing name with :file and loading it with :edit
func Test_write_after_rename()
- call writefile(['text'], 'Xafterfile')
+ call writefile(['text'], 'Xafterfile', 'D')
enew
file Xafterfile
edit
write
- call delete('Xafterfile')
bwipe!
endfunc