Patch 7.4.1504 (after 7.4.1502)
Problem: No test for reading last-but-one line.
Solution: Add a test.
Files: src/testdir/test_channel.vim
*** ../vim-7.4.1503/src/testdir/test_channel.vim 2016-03-06
21:33:58.286366293 +0100
--- src/testdir/test_channel.vim 2016-03-06 21:31:59.507633189 +0100
***************
*** 629,634 ****
--- 629,711 ----
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 = ''
*** ../vim-7.4.1503/src/version.c 2016-03-06 21:33:58.290366249 +0100
--- src/version.c 2016-03-06 21:35:20.181493016 +0100
***************
*** 745,746 ****
--- 745,748 ----
{ /* Add new patch number below this line */
+ /**/
+ 1504,
/**/
--
No engineer can take a shower without wondering if some sort of Teflon coating
would make showering unnecessary.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.