patch 8.0.1644: terminal API tests still fail
Problem: Terminal API tests still fail.
Solution: Explicitly set 'title' in the terminal job. (Ozaki Kiichi,
closes #2750)
diff --git a/src/testdir/screendump.vim b/src/testdir/screendump.vim
index 60c0ccb..87a5823 100644
--- a/src/testdir/screendump.vim
+++ b/src/testdir/screendump.vim
@@ -24,7 +24,9 @@
" By default uses a size of 20 lines and 75 columns.
" Returns the buffer number of the terminal.
"
-" Options is a dictionary (not used yet).
+" Options is a dictionary, these items are recognized:
+" "rows" - height of the terminal window (max. 20)
+" "cols" - width of the terminal window (max. 78)
func RunVimInTerminal(arguments, options)
" If Vim doesn't exit a swap file remains, causing other tests to fail.
" Remove it here.
@@ -47,17 +49,15 @@
set t_Co=256 background=light
hi Normal ctermfg=NONE ctermbg=NONE
- " Make the window 20 lines high, unless told otherwise.
- let rows = 20
- if has_key(a:options, 'rows')
- let rows = a:options['rows']
- endif
+ " Make the window 20 lines high and 75 columns, unless told otherwise.
+ let rows = get(a:options, 'rows', 20)
+ let cols = get(a:options, 'cols', 75)
let cmd = GetVimCommandClean()
" Add -v to have gvim run in the terminal (if possible)
let cmd .= ' -v ' . a:arguments
- let buf = term_start(cmd, {'curwin': 1, 'term_rows': rows, 'term_cols': 75})
- call assert_equal([rows, 75], term_getsize(buf))
+ let buf = term_start(cmd, {'curwin': 1, 'term_rows': rows, 'term_cols': cols})
+ call assert_equal([rows, cols], term_getsize(buf))
return buf
endfunc
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 2589b26..f981fcc 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -1029,10 +1029,10 @@
return
endif
call assert_equal(1, winnr('$'))
- set title
" Use the title termcap entries to output the escape sequence.
call writefile([
+ \ 'set title',
\ 'exe "set t_ts=\<Esc>]51; t_fs=\x07"',
\ 'let &titlestring = ''["drop","Xtextfile"]''',
\ 'redraw',
@@ -1046,7 +1046,6 @@
call StopVimInTerminal(buf)
call delete('Xscript')
bwipe Xtextfile
- set title&
endfunc
func Test_terminal_api_drop_oldwin()
@@ -1058,10 +1057,10 @@
let textfile_winid = win_getid()
call assert_equal(2, winnr('$'))
call win_gotoid(firstwinid)
- set title
" Use the title termcap entries to output the escape sequence.
call writefile([
+ \ 'set title',
\ 'exe "set t_ts=\<Esc>]51; t_fs=\x07"',
\ 'let &titlestring = ''["drop","Xtextfile"]''',
\ 'redraw',
@@ -1074,7 +1073,6 @@
call StopVimInTerminal(buf)
call delete('Xscript')
bwipe Xtextfile
- set title&
endfunc
func TryThis(bufnum, arg)
@@ -1086,10 +1084,10 @@
if !CanRunVimInTerminal()
return
endif
- set title
" Use the title termcap entries to output the escape sequence.
call writefile([
+ \ 'set title',
\ 'exe "set t_ts=\<Esc>]51; t_fs=\x07"',
\ 'let &titlestring = ''["call","TryThis",["hello",123]]''',
\ 'redraw',
@@ -1104,5 +1102,4 @@
call delete('Xscript')
unlet g:called_bufnum
unlet g:called_arg
- set title&
endfunc
diff --git a/src/version.c b/src/version.c
index acca91a..1a8c10e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -767,6 +767,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1644,
+/**/
1643,
/**/
1642,