mirror of
https://github.com/vim/vim.git
synced 2025-07-24 10:45:12 -04:00
patch 7.4.1504
Problem: No test for reading last-but-one line. Solution: Add a test.
This commit is contained in:
parent
839fd11d7e
commit
3f39f64866
@ -629,6 +629,83 @@ func Test_pipe_to_buffer_json()
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
" Wait a little while for the last line, minus "offset", to equal "line".
|
||||
func Wait_for_last_line(line, offset)
|
||||
for i in range(100)
|
||||
sleep 10m
|
||||
if getline(line('$') - a:offset) == a:line
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
endfunc
|
||||
|
||||
func Test_pipe_io_two_buffers()
|
||||
if !has('job')
|
||||
return
|
||||
endif
|
||||
call ch_log('Test_pipe_io_two_buffers()')
|
||||
|
||||
" Create two buffers, one to read from and one to write to.
|
||||
split pipe-output
|
||||
set buftype=nofile
|
||||
split pipe-input
|
||||
set buftype=nofile
|
||||
|
||||
let job = job_start(s:python . " test_channel_pipe.py",
|
||||
\ {'in-io': 'buffer', 'in-name': 'pipe-input', 'in-top': 0,
|
||||
\ 'out-io': 'buffer', 'out-name': 'pipe-output'})
|
||||
call assert_equal("run", job_status(job))
|
||||
try
|
||||
exe "normal Gaecho hello\<CR>"
|
||||
exe bufwinnr('pipe-output') . "wincmd w"
|
||||
call Wait_for_last_line('hello', 0)
|
||||
call assert_equal('hello', getline('$'))
|
||||
|
||||
exe bufwinnr('pipe-input') . "wincmd w"
|
||||
exe "normal Gadouble this\<CR>"
|
||||
exe bufwinnr('pipe-output') . "wincmd w"
|
||||
call Wait_for_last_line('AND this', 0)
|
||||
call assert_equal('this', getline(line('$') - 1))
|
||||
call assert_equal('AND this', getline('$'))
|
||||
|
||||
bwipe!
|
||||
exe bufwinnr('pipe-input') . "wincmd w"
|
||||
bwipe!
|
||||
finally
|
||||
call job_stop(job)
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
func Test_pipe_io_one_buffer()
|
||||
if !has('job')
|
||||
return
|
||||
endif
|
||||
call ch_log('Test_pipe_io_one_buffer()')
|
||||
|
||||
" Create one buffer to read from and to write to.
|
||||
split pipe-io
|
||||
set buftype=nofile
|
||||
|
||||
let job = job_start(s:python . " test_channel_pipe.py",
|
||||
\ {'in-io': 'buffer', 'in-name': 'pipe-io', 'in-top': 0,
|
||||
\ 'out-io': 'buffer', 'out-name': 'pipe-io'})
|
||||
call assert_equal("run", job_status(job))
|
||||
try
|
||||
exe "normal Goecho hello\<CR>"
|
||||
call Wait_for_last_line('hello', 1)
|
||||
call assert_equal('hello', getline(line('$') - 1))
|
||||
|
||||
exe "normal Gadouble this\<CR>"
|
||||
call Wait_for_last_line('AND this', 1)
|
||||
call assert_equal('this', getline(line('$') - 2))
|
||||
call assert_equal('AND this', getline(line('$') - 1))
|
||||
|
||||
bwipe!
|
||||
finally
|
||||
call job_stop(job)
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
""""""""""
|
||||
|
||||
let s:unletResponse = ''
|
||||
|
@ -743,6 +743,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1504,
|
||||
/**/
|
||||
1503,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user