vim-patch:8.2.3321: some code is not tested

Problem:    Some code is not tested.
Solution:   Add some more tests. (Dominique Pellé, closes vim/vim#8735)
bd9e796125

Include Test_confirm_write_partial_file() anyway, even though it will
not be run.
This commit is contained in:
Sean Dewar 2021-08-13 18:20:09 +01:00
parent e9ddff9d8a
commit 2cbbab28d2
No known key found for this signature in database
GPG Key ID: 08CC2C83AD41B581
2 changed files with 44 additions and 0 deletions

View File

@ -313,6 +313,42 @@ func Test_confirm_write_ro()
call delete('Xconfirm_write_ro')
endfunc
func Test_confirm_write_partial_file()
CheckNotGui
CheckRunVimInTerminal
call writefile(['a', 'b', 'c', 'd'], 'Xwrite_partial')
call writefile(['set nobackup ff=unix cmdheight=2',
\ 'edit Xwrite_partial'], 'Xscript')
let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
call term_sendkeys(buf, ":confirm 2,3w\n")
call WaitForAssert({-> assert_match('^Write partial file? *$',
\ term_getline(buf, 19))}, 1000)
call WaitForAssert({-> assert_match('^(Y)es, \[N\]o: *$',
\ term_getline(buf, 20))}, 1000)
call term_sendkeys(buf, 'N')
call WaitForAssert({-> assert_match('.* All$', term_getline(buf, 20))}, 1000)
call assert_equal(['a', 'b', 'c', 'd'], readfile('Xwrite_partial'))
call delete('Xwrite_partial')
call term_sendkeys(buf, ":confirm 2,3w\n")
call WaitForAssert({-> assert_match('^Write partial file? *$',
\ term_getline(buf, 19))}, 1000)
call WaitForAssert({-> assert_match('^(Y)es, \[N\]o: *$',
\ term_getline(buf, 20))}, 1000)
call term_sendkeys(buf, 'Y')
call WaitForAssert({-> assert_match('^"Xwrite_partial" \[New\] 2L, 4B written *$',
\ term_getline(buf, 19))}, 1000)
call WaitForAssert({-> assert_match('^Press ENTER or type command to continue *$',
\ term_getline(buf, 20))}, 1000)
call assert_equal(['b', 'c'], readfile('Xwrite_partial'))
call StopVimInTerminal(buf)
call delete('Xwrite_partial')
call delete('Xscript')
endfunc
" Test for the :winsize command
func Test_winsize_cmd()
call assert_fails('winsize 1', 'E465:')

View File

@ -191,6 +191,14 @@ func Test_saveas()
close!
enew | only
call delete('Xfile')
" :saveas should detect and set the file type.
syntax on
saveas! Xsaveas.pl
call assert_equal('perl', &filetype)
syntax off
%bw!
call delete('Xsaveas.pl')
endfunc
func Test_write_errors()