vim-patch:8.1.1173: suspend test has duplicated lines (#10466)

Problem:    Suspend test has duplicated lines.
Solution:   Use a function.
a8356bc173
This commit is contained in:
Daniel Hahler 2019-07-11 12:20:36 +02:00 committed by GitHub
parent 777cc6f98a
commit 6eab3b9250
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 11 deletions

View File

@ -2,6 +2,20 @@
source shared.vim
func CheckSuspended(buf, fileExists)
call WaitForAssert({-> assert_match('[$#] $', term_getline(a:buf, '.'))})
if a:fileExists
call assert_equal(['foo'], readfile('Xfoo'))
else
" Without 'autowrite', buffer should not be written.
call assert_equal(0, filereadable('Xfoo'))
endif
call term_sendkeys(a:buf, "fg\<CR>\<C-L>")
call WaitForAssert({-> assert_equal(' 1 foo', term_getline(a:buf, '.'))})
endfunc
func Test_suspend()
if !has('terminal') || !executable('/bin/sh')
return
@ -26,13 +40,7 @@ func Test_suspend()
\ "\<C-Z>"]
" Suspend and wait for shell prompt.
call term_sendkeys(buf, suspend_cmd)
call WaitForAssert({-> assert_match('[$#] $', term_getline(buf, '.'))})
" Without 'autowrite', buffer should not be written.
call assert_equal(0, filereadable('Xfoo'))
call term_sendkeys(buf, "fg\<CR>")
call WaitForAssert({-> assert_equal(' 1 foo', term_getline(buf, '.'))})
call CheckSuspended(buf, 0)
endfor
" Test that :suspend! with 'autowrite' writes content of buffers if modified.
@ -40,10 +48,7 @@ func Test_suspend()
call assert_equal(0, filereadable('Xfoo'))
call term_sendkeys(buf, ":suspend\<CR>")
" Wait for shell prompt.
call WaitForAssert({-> assert_match('[$#] $', term_getline(buf, '.'))})
call assert_equal(['foo'], readfile('Xfoo'))
call term_sendkeys(buf, "fg\<CR>")
call WaitForAssert({-> assert_equal(' 1 foo', term_getline(buf, '.'))})
call CheckSuspended(buf, 1)
" Quit gracefully to dump coverage information.
call term_sendkeys(buf, ":qall!\<CR>")