Skip to content
Permalink
Browse files

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

Problem:    Suspend test has duplicated lines.
Solution:   Use a function.
vim/vim@a8356bc
  • Loading branch information...
blueyed committed Jul 11, 2019
1 parent 777cc6f commit 6eab3b925016d6474bbf00671071414c7b0209c3
Showing with 16 additions and 11 deletions.
  1. +16 −11 src/nvim/testdir/test_suspend.vim
@@ -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,24 +40,15 @@ 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.
call term_sendkeys(buf, ":set autowrite\<CR>")
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>")

0 comments on commit 6eab3b9

Please sign in to comment.
You can’t perform that action at this time.