0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

patch 8.0.1645: test for terminal response to escape sequence may fail

Problem:    Test for terminal response to escape sequence fails for some
            people. (toothpik)
Solution:   Run "cat" and let it echo the characters.
This commit is contained in:
Bram Moolenaar
2018-03-25 21:24:12 +02:00
parent cf67a509e9
commit 086eb87695
2 changed files with 11 additions and 12 deletions

View File

@@ -833,25 +833,22 @@ func Test_terminal_response_to_control_sequence()
endif
let buf = Run_shell_in_terminal({})
call WaitFor({-> term_getline(buf, 1) != ""})
call WaitFor({-> term_getline(buf, 1) != ''})
call writefile(["\x1b[6n"], 'Xescape')
call term_sendkeys(buf, "cat Xescape\<cr>")
call term_sendkeys(buf, "cat\<CR>")
call WaitFor({-> term_getline(buf, 1) =~ 'cat'})
" wait for the response of control sequence from libvterm (and send it to tty)
sleep 200m
call term_wait(buf)
" Request the cursor position.
call term_sendkeys(buf, "\x1b[6n\<CR>")
" Wait for output from tty to display, below an empty line.
" It should show \e3;1R, but only 1R may show up
call assert_match('\<\d\+R', term_getline(buf, 3))
call WaitFor({-> term_getline(buf, 4) =~ '3;1R'})
" End "cat" gently.
call term_sendkeys(buf, "\<CR>\<C-D>")
call term_sendkeys(buf, "\<c-c>")
call term_wait(buf)
call Stop_shell_in_terminal(buf)
exe buf . 'bwipe'
call delete('Xescape')
unlet g:job
endfunc

View File

@@ -766,6 +766,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1645,
/**/
1644,
/**/