aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-21 16:08:48 +0800
committerGitHub <noreply@github.com>2023-08-21 16:08:48 +0800
commitdc01d68f27a0d80da62bac690e9ca4647bc70dd9 (patch)
treebe513a60ebce56c3d8bbb50f451029a4bba980f7
parentcc35352f65f823259675f84a915ee03d2423913e (diff)
parent02ca31979bed2b7e432401b23aaf7987a3f0badb (diff)
downloadrneovim-dc01d68f27a0d80da62bac690e9ca4647bc70dd9.tar.gz
rneovim-dc01d68f27a0d80da62bac690e9ca4647bc70dd9.tar.bz2
rneovim-dc01d68f27a0d80da62bac690e9ca4647bc70dd9.zip
Merge pull request #24818 from zeertzjq/vim-8.2.0186
vim-patch:8.1.2403,8.2.{0186,0195,0310,0454,0533,2908,2910,3518,4339}
-rw-r--r--test/old/testdir/runtest.vim30
-rw-r--r--test/old/testdir/test_arglist.vim8
-rw-r--r--test/old/testdir/test_autocmd.vim17
-rw-r--r--test/old/testdir/test_bufline.vim1
-rw-r--r--test/old/testdir/test_clientserver.vim3
-rw-r--r--test/old/testdir/test_cmdline.vim21
-rw-r--r--test/old/testdir/test_cursorline.vim21
-rw-r--r--test/old/testdir/test_debugger.vim2
-rw-r--r--test/old/testdir/test_diffmode.vim2
-rw-r--r--test/old/testdir/test_display.vim1
-rw-r--r--test/old/testdir/test_functions.vim14
-rw-r--r--test/old/testdir/test_highlight.vim61
-rw-r--r--test/old/testdir/test_ins_complete.vim6
-rw-r--r--test/old/testdir/test_mapping.vim12
-rw-r--r--test/old/testdir/test_match.vim5
-rw-r--r--test/old/testdir/test_matchadd_conceal.vim8
-rw-r--r--test/old/testdir/test_messages.vim4
-rw-r--r--test/old/testdir/test_number.vim2
-rw-r--r--test/old/testdir/test_popup.vim13
-rw-r--r--test/old/testdir/test_profile.vim2
-rw-r--r--test/old/testdir/test_quotestar.vim1
-rw-r--r--test/old/testdir/test_reltime.vim1
-rw-r--r--test/old/testdir/test_search.vim14
-rw-r--r--test/old/testdir/test_search_stat.vim7
-rw-r--r--test/old/testdir/test_startup.vim4
-rw-r--r--test/old/testdir/test_startup_utf8.vim2
-rw-r--r--test/old/testdir/test_suspend.vim2
-rw-r--r--test/old/testdir/test_swap.vim6
-rw-r--r--test/old/testdir/test_tagjump.vim2
-rw-r--r--test/old/testdir/test_timers.vim11
-rw-r--r--test/old/testdir/test_vimscript.vim12
31 files changed, 158 insertions, 137 deletions
diff --git a/test/old/testdir/runtest.vim b/test/old/testdir/runtest.vim
index 08dde1fe4f..6be6fd0fd3 100644
--- a/test/old/testdir/runtest.vim
+++ b/test/old/testdir/runtest.vim
@@ -489,33 +489,6 @@ else
endtry
endif
-" Names of flaky tests.
-let s:flaky_tests = [
- \ 'Test_autocmd_SafeState()',
- \ 'Test_cursorhold_insert()',
- \ 'Test_exit_callback_interval()',
- \ 'Test_map_timeout_with_timer_interrupt()',
- \ 'Test_out_cb()',
- \ 'Test_popup_and_window_resize()',
- \ 'Test_quoteplus()',
- \ 'Test_quotestar()',
- \ 'Test_reltime()',
- \ 'Test_state()',
- \ 'Test_term_mouse_double_click_to_create_tab()',
- \ 'Test_term_mouse_multiple_clicks_to_visually_select()',
- \ 'Test_terminal_composing_unicode()',
- \ 'Test_terminal_redir_file()',
- \ 'Test_terminal_tmap()',
- \ 'Test_timer_oneshot()',
- \ 'Test_timer_paused()',
- \ 'Test_timer_repeat_many()',
- \ 'Test_timer_repeat_three()',
- \ 'Test_timer_stop_all_in_callback()',
- \ 'Test_timer_stop_in_callback()',
- \ 'Test_timer_with_partial_callback()',
- \ 'Test_termwinscroll()',
- \ ]
-
" Delete the .res file, it may change behavior for completion
call delete(fnamemodify(g:testname, ':r') .. '.res')
@@ -565,8 +538,7 @@ for g:testfunc in sort(s:tests)
" - it fails five times (with a different message)
if len(v:errors) > 0
\ && $TEST_NO_RETRY == ''
- \ && (index(s:flaky_tests, g:testfunc) >= 0
- \ || g:test_is_flaky)
+ \ && g:test_is_flaky
while 1
call add(s:messages, 'Found errors in ' .. g:testfunc .. ':')
call extend(s:messages, v:errors)
diff --git a/test/old/testdir/test_arglist.vim b/test/old/testdir/test_arglist.vim
index de4e5e33d6..0c381e0ab2 100644
--- a/test/old/testdir/test_arglist.vim
+++ b/test/old/testdir/test_arglist.vim
@@ -571,7 +571,7 @@ func Test_quit_with_arglist()
call term_sendkeys(buf, ":set nomore\n")
call term_sendkeys(buf, ":args a b c\n")
call term_sendkeys(buf, ":quit\n")
- call term_wait(buf)
+ call TermWait(buf)
call WaitForAssert({-> assert_match('^E173:', term_getline(buf, 6))})
call StopVimInTerminal(buf)
@@ -580,16 +580,16 @@ func Test_quit_with_arglist()
call term_sendkeys(buf, ":set nomore\n")
call term_sendkeys(buf, ":args a b c\n")
call term_sendkeys(buf, ":confirm quit\n")
- call term_wait(buf)
+ call TermWait(buf)
call WaitForAssert({-> assert_match('^\[Y\]es, (N)o: *$',
\ term_getline(buf, 6))})
call term_sendkeys(buf, "N")
- call term_wait(buf)
+ call TermWait(buf)
call term_sendkeys(buf, ":confirm quit\n")
call WaitForAssert({-> assert_match('^\[Y\]es, (N)o: *$',
\ term_getline(buf, 6))})
call term_sendkeys(buf, "Y")
- call term_wait(buf)
+ call TermWait(buf)
call WaitForAssert({-> assert_equal("finished", term_getstatus(buf))})
only!
" When this test fails, swap files are left behind which breaks subsequent
diff --git a/test/old/testdir/test_autocmd.vim b/test/old/testdir/test_autocmd.vim
index 959efc0b49..59149abaf7 100644
--- a/test/old/testdir/test_autocmd.vim
+++ b/test/old/testdir/test_autocmd.vim
@@ -2013,6 +2013,7 @@ endfunc
" Test for BufUnload autocommand that unloads all the other buffers
func Test_bufunload_all()
+ let g:test_is_flaky = 1
call writefile(['Test file Xxx1'], 'Xxx1')"
call writefile(['Test file Xxx2'], 'Xxx2')"
@@ -2961,6 +2962,7 @@ endfunc
func Test_autocmd_SafeState()
CheckRunVimInTerminal
+ let g:test_is_flaky = 1
let lines =<< trim END
let g:safe = 0
@@ -2974,17 +2976,19 @@ func Test_autocmd_SafeState()
call writefile(lines, 'XSafeState')
let buf = RunVimInTerminal('-S XSafeState', #{rows: 6})
- " Sometimes we loop to handle an K_IGNORE
+ " Sometimes we loop to handle a K_IGNORE, SafeState may be trigered once or
+ " more often.
call term_sendkeys(buf, ":echo g:safe\<CR>")
- call WaitForAssert({-> assert_match('^[12] ', term_getline(buf, 6))}, 1000)
+ call WaitForAssert({-> assert_match('^\d ', term_getline(buf, 6))}, 1000)
+ " SafeStateAgain should be invoked at least three times
call term_sendkeys(buf, ":echo g:again\<CR>")
- call WaitForAssert({-> assert_match('^xxxx', term_getline(buf, 6))}, 1000)
+ call WaitForAssert({-> assert_match('^xxx', term_getline(buf, 6))}, 1000)
call term_sendkeys(buf, ":let g:again = ''\<CR>:call CallTimer()\<CR>")
- call term_wait(buf)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":\<CR>")
- call term_wait(buf)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":echo g:again\<CR>")
call WaitForAssert({-> assert_match('xtx', term_getline(buf, 6))}, 1000)
@@ -3008,7 +3012,7 @@ func Test_autocmd_CmdWinEnter()
let buf = RunVimInTerminal('-S '.filename, #{rows: 6})
call term_sendkeys(buf, "q:")
- call term_wait(buf)
+ call TermWait(buf)
call term_sendkeys(buf, ":echo b:dummy_var\<cr>")
call WaitForAssert({-> assert_match('^This is a dummy', term_getline(buf, 6))}, 2000)
call term_sendkeys(buf, ":echo &buftype\<cr>")
@@ -3042,6 +3046,7 @@ func Test_autocmd_was_using_freed_memory()
endfunc
func Test_BufWrite_lockmarks()
+ let g:test_is_flaky = 1
edit! Xtest
call setline(1, ['a', 'b', 'c', 'd'])
diff --git a/test/old/testdir/test_bufline.vim b/test/old/testdir/test_bufline.vim
index 0468025f55..50feaf2689 100644
--- a/test/old/testdir/test_bufline.vim
+++ b/test/old/testdir/test_bufline.vim
@@ -217,7 +217,6 @@ func Test_appendbufline_redraw()
END
call writefile(lines, 'XscriptMatchCommon')
let buf = RunVimInTerminal('-S XscriptMatchCommon', #{rows: 10})
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_appendbufline_1', {})
call StopVimInTerminal(buf)
diff --git a/test/old/testdir/test_clientserver.vim b/test/old/testdir/test_clientserver.vim
index d8b29f6c42..be6c8151af 100644
--- a/test/old/testdir/test_clientserver.vim
+++ b/test/old/testdir/test_clientserver.vim
@@ -26,9 +26,10 @@ func Check_X11_Connection()
endfunc
func Test_client_server()
+ let g:test_is_flaky = 1
let cmd = GetVimCommand()
if cmd == ''
- return
+ throw 'GetVimCommand() failed'
endif
call Check_X11_Connection()
diff --git a/test/old/testdir/test_cmdline.vim b/test/old/testdir/test_cmdline.vim
index aab65eb8fe..a85c8229af 100644
--- a/test/old/testdir/test_cmdline.vim
+++ b/test/old/testdir/test_cmdline.vim
@@ -1482,7 +1482,7 @@ func Test_verbose_option()
call writefile(lines, 'XTest_verbose')
let buf = RunVimInTerminal('-S XTest_verbose', {'rows': 12})
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":DoSomething\<CR>")
call VerifyScreenDump(buf, 'Test_verbose_option_1', {})
@@ -1560,7 +1560,7 @@ func Test_cmdwin_restore()
call writefile(lines, 'XTest_restore')
let buf = RunVimInTerminal('-S XTest_restore', {'rows': 12})
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
call term_sendkeys(buf, "q:")
call VerifyScreenDump(buf, 'Test_cmdwin_restore_1', {})
@@ -1580,6 +1580,21 @@ func Test_cmdwin_restore()
call delete('XTest_restore')
endfunc
+func Test_cmdwin_no_terminal()
+ CheckFeature cmdwin
+ CheckFeature terminal
+ CheckNotMSWindows
+
+ let buf = RunVimInTerminal('', {'rows': 12})
+ call TermWait(buf, 50)
+ call term_sendkeys(buf, ":set cmdheight=2\<CR>")
+ call term_sendkeys(buf, "q:")
+ call term_sendkeys(buf, ":let buf = term_start(['/bin/echo'], #{hidden: 1})\<CR>")
+ call VerifyScreenDump(buf, 'Test_cmdwin_no_terminal', {})
+ call term_sendkeys(buf, ":q\<CR>")
+ call StopVimInTerminal(buf)
+endfunc
+
func Test_buffers_lastused()
" check that buffers are sorted by time when wildmode has lastused
edit bufc " oldest
@@ -1687,7 +1702,7 @@ func Test_cmdlineclear_tabenter()
call writefile(lines, 'XtestCmdlineClearTabenter')
let buf = RunVimInTerminal('-S XtestCmdlineClearTabenter', #{rows: 10})
- call term_wait(buf, 50)
+ call TermWait(buf, 25)
" in one tab make the command line higher with CTRL-W -
call term_sendkeys(buf, ":tabnew\<cr>\<C-w>-\<C-w>-gtgt")
call VerifyScreenDump(buf, 'Test_cmdlineclear_tabenter', {})
diff --git a/test/old/testdir/test_cursorline.vim b/test/old/testdir/test_cursorline.vim
index 70f39a8601..294c97e2cb 100644
--- a/test/old/testdir/test_cursorline.vim
+++ b/test/old/testdir/test_cursorline.vim
@@ -136,41 +136,30 @@ func Test_cursorline_screenline()
call writefile(lines, filename)
" basic test
let buf = RunVimInTerminal('-S '. filename, #{rows: 20})
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_1', {})
call term_sendkeys(buf, "fagj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_2', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_3', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_4', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_5', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_6', {})
" test with set list and cursorlineopt containing number
call term_sendkeys(buf, "gg0")
call term_sendkeys(buf, ":set list cursorlineopt+=number listchars=space:-\<cr>")
call VerifyScreenDump(buf, 'Test_'. filename. '_7', {})
call term_sendkeys(buf, "fagj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_8', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_9', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_10', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_11', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_12', {})
if exists("+foldcolumn") && exists("+signcolumn") && exists("+breakindent")
" test with set foldcolumn signcoloumn and breakindent
@@ -178,19 +167,14 @@ func Test_cursorline_screenline()
call term_sendkeys(buf, ":set breakindent foldcolumn=2 signcolumn=yes\<cr>")
call VerifyScreenDump(buf, 'Test_'. filename. '_13', {})
call term_sendkeys(buf, "fagj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_14', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_15', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_16', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_17', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_18', {})
call term_sendkeys(buf, ":set breakindent& foldcolumn& signcolumn&\<cr>")
endif
@@ -200,19 +184,14 @@ func Test_cursorline_screenline()
call term_sendkeys(buf, ":set nonumber\<cr>")
call VerifyScreenDump(buf, 'Test_'. filename. '_19', {})
call term_sendkeys(buf, "fagj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_20', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_21', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_22', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_23', {})
call term_sendkeys(buf, "gj")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_24', {})
call term_sendkeys(buf, ":set list& cursorlineopt& listchars&\<cr>")
diff --git a/test/old/testdir/test_debugger.vim b/test/old/testdir/test_debugger.vim
index 18616e8717..ba3f4715ca 100644
--- a/test/old/testdir/test_debugger.vim
+++ b/test/old/testdir/test_debugger.vim
@@ -36,7 +36,7 @@ endfunc
" If the expected output argument is supplied, then check for it.
func RunDbgCmd(buf, cmd, ...)
call term_sendkeys(a:buf, a:cmd . "\r")
- call term_wait(a:buf, 20)
+ call TermWait(a:buf)
if a:0 != 0
let options = #{match: 'equal'}
diff --git a/test/old/testdir/test_diffmode.vim b/test/old/testdir/test_diffmode.vim
index ac90aaaa02..d6d9f351fc 100644
--- a/test/old/testdir/test_diffmode.vim
+++ b/test/old/testdir/test_diffmode.vim
@@ -852,11 +852,11 @@ func VerifyInternal(buf, dumpfile, extra)
call term_sendkeys(a:buf, ":diffupdate!\<CR>")
" trailing : for leaving the cursor on the command line
call term_sendkeys(a:buf, ":set diffopt=internal,filler" . a:extra . "\<CR>:")
- call TermWait(a:buf)
call VerifyScreenDump(a:buf, a:dumpfile, {})
endfunc
func Test_diff_screen()
+ let g:test_is_flaky = 1
CheckScreendump
CheckFeature menu
diff --git a/test/old/testdir/test_display.vim b/test/old/testdir/test_display.vim
index e007b6f741..b08d093a2a 100644
--- a/test/old/testdir/test_display.vim
+++ b/test/old/testdir/test_display.vim
@@ -177,7 +177,6 @@ func Test_scroll_CursorLineNr_update()
call writefile(lines, filename)
let buf = RunVimInTerminal('-S '.filename, #{rows: 5, cols: 50})
call term_sendkeys(buf, "k")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_winline_rnu', {})
" clean up
diff --git a/test/old/testdir/test_functions.vim b/test/old/testdir/test_functions.vim
index 5981b5214b..1d713e91ce 100644
--- a/test/old/testdir/test_functions.vim
+++ b/test/old/testdir/test_functions.vim
@@ -2567,6 +2567,9 @@ endfunc
func Test_state()
CheckRunVimInTerminal
+ let g:test_is_flaky = 1
+
+ let getstate = ":echo 'state: ' .. g:state .. '; mode: ' .. g:mode\<CR>"
let lines =<< trim END
call setline(1, ['one', 'two', 'three'])
@@ -2587,28 +2590,27 @@ func Test_state()
" Using a timer callback
call term_sendkeys(buf, ":call RunTimer()\<CR>")
- call term_wait(buf, 50)
- let getstate = ":echo 'state: ' .. g:state .. '; mode: ' .. g:mode\<CR>"
+ call TermWait(buf, 25)
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: c; mode: n', term_getline(buf, 6))}, 1000)
" Halfway a mapping
call term_sendkeys(buf, ":call RunTimer()\<CR>;")
- call term_wait(buf, 50)
+ call TermWait(buf, 25)
call term_sendkeys(buf, ";")
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: mSc; mode: n', term_getline(buf, 6))}, 1000)
" Insert mode completion (bit slower on Mac)
call term_sendkeys(buf, ":call RunTimer()\<CR>Got\<C-N>")
- call term_wait(buf, 200)
+ call TermWait(buf, 25)
call term_sendkeys(buf, "\<Esc>")
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: aSc; mode: i', term_getline(buf, 6))}, 1000)
" Autocommand executing
call term_sendkeys(buf, ":set filetype=foobar\<CR>")
- call term_wait(buf, 50)
+ call TermWait(buf, 25)
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: xS; mode: n', term_getline(buf, 6))}, 1000)
@@ -2616,7 +2618,7 @@ func Test_state()
" messages scrolled
call term_sendkeys(buf, ":call RunTimer()\<CR>:echo \"one\\ntwo\\nthree\"\<CR>")
- call term_wait(buf, 50)
+ call TermWait(buf, 25)
call term_sendkeys(buf, "\<CR>")
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: Scs; mode: r', term_getline(buf, 6))}, 1000)
diff --git a/test/old/testdir/test_highlight.vim b/test/old/testdir/test_highlight.vim
index 14c208521b..a83dc34063 100644
--- a/test/old/testdir/test_highlight.vim
+++ b/test/old/testdir/test_highlight.vim
@@ -543,9 +543,9 @@ func Test_cursorline_after_yank()
\ 'call setline(1, ["","1","2","3",""])',
\ ], 'Xtest_cursorline_yank')
let buf = RunVimInTerminal('-S Xtest_cursorline_yank', {'rows': 8})
- call term_wait(buf)
+ call TermWait(buf)
call term_sendkeys(buf, "Gy3k")
- call term_wait(buf)
+ call TermWait(buf)
call term_sendkeys(buf, "jj")
call VerifyScreenDump(buf, 'Test_cursorline_yank_01', {})
@@ -583,7 +583,7 @@ func Test_cursorline_with_visualmode()
\ 'call setline(1, repeat(["abc"], 50))',
\ ], 'Xtest_cursorline_with_visualmode')
let buf = RunVimInTerminal('-S Xtest_cursorline_with_visualmode', {'rows': 12})
- call term_wait(buf)
+ call TermWait(buf)
call term_sendkeys(buf, "V\<C-f>kkkjk")
call VerifyScreenDump(buf, 'Test_cursorline_with_visualmode_01', {})
@@ -593,6 +593,59 @@ func Test_cursorline_with_visualmode()
call delete('Xtest_cursorline_with_visualmode')
endfunc
+func Test_wincolor()
+ CheckScreendump
+ " make sure the width is enough for the test
+ set columns=80
+
+ let lines =<< trim END
+ set cursorline cursorcolumn rnu
+ call setline(1, ["","1111111111","22222222222","3 here 3","","the cat is out of the bag"])
+ set wincolor=Pmenu
+ hi CatLine guifg=green ctermfg=green
+ hi Reverse gui=reverse cterm=reverse
+ syn match CatLine /^the.*/
+ call prop_type_add("foo", {"highlight": "Reverse", "combine": 1})
+ call prop_add(6, 12, {"type": "foo", "end_col": 15})
+ /here
+ END
+ call writefile(lines, 'Xtest_wincolor')
+ let buf = RunVimInTerminal('-S Xtest_wincolor', {'rows': 8})
+ call TermWait(buf)
+ call term_sendkeys(buf, "2G5lvj")
+ call TermWait(buf)
+
+ call VerifyScreenDump(buf, 'Test_wincolor_01', {})
+
+ " clean up
+ call term_sendkeys(buf, "\<Esc>")
+ call StopVimInTerminal(buf)
+ call delete('Xtest_wincolor')
+endfunc
+
+func Test_wincolor_listchars()
+ CheckScreendump
+ CheckFeature conceal
+
+ let lines =<< trim END
+ call setline(1, ["one","\t\tsome random text enough long to show 'extends' and 'precedes' includingnbsps, preceding tabs and trailing spaces ","three"])
+ set wincolor=Todo
+ set nowrap cole=1 cocu+=n
+ set list lcs=eol:$,tab:>-,space:.,trail:_,extends:>,precedes:<,conceal:*,nbsp:#
+ call matchadd('Conceal', 'text')
+ normal 2G5zl
+ END
+ call writefile(lines, 'Xtest_wincolorlcs')
+ let buf = RunVimInTerminal('-S Xtest_wincolorlcs', {'rows': 8})
+
+ call VerifyScreenDump(buf, 'Test_wincolor_lcs', {})
+
+ " clean up
+ call term_sendkeys(buf, "\<Esc>")
+ call StopVimInTerminal(buf)
+ call delete('Xtest_wincolorlcs')
+endfunc
+
func Test_cursorcolumn_insert_on_tab()
CheckScreendump
@@ -665,7 +718,6 @@ func Test_colorcolumn()
call writefile(lines, 'Xtest_colorcolumn')
let buf = RunVimInTerminal('-S Xtest_colorcolumn', {'rows': 10})
call term_sendkeys(buf, ":\<CR>")
- call term_wait(buf)
call VerifyScreenDump(buf, 'Test_colorcolumn_1', {})
" clean up
@@ -683,7 +735,6 @@ func Test_colorcolumn_bri()
call writefile(lines, 'Xtest_colorcolumn_bri')
let buf = RunVimInTerminal('-S Xtest_colorcolumn_bri', {'rows': 10,'columns': 40})
call term_sendkeys(buf, ":set co=40 linebreak bri briopt=shift:2 cc=40,41,43\<CR>")
- call TermWait(buf)
call VerifyScreenDump(buf, 'Test_colorcolumn_2', {})
" clean up
diff --git a/test/old/testdir/test_ins_complete.vim b/test/old/testdir/test_ins_complete.vim
index cdc998cad2..f01a95b6fe 100644
--- a/test/old/testdir/test_ins_complete.vim
+++ b/test/old/testdir/test_ins_complete.vim
@@ -620,7 +620,7 @@ func Test_pum_with_folds_two_tabs()
call writefile(lines, 'Xpumscript')
let buf = RunVimInTerminal('-S Xpumscript', #{rows: 10})
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
call term_sendkeys(buf, "a\<C-N>")
call VerifyScreenDump(buf, 'Test_pum_with_folds_two_tabs', {})
@@ -645,9 +645,9 @@ func Test_pum_with_preview_win()
call writefile(lines, 'Xpreviewscript')
let buf = RunVimInTerminal('-S Xpreviewscript', #{rows: 12})
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
call term_sendkeys(buf, "Gi\<C-X>\<C-O>")
- call term_wait(buf, 200)
+ call TermWait(buf, 100)
call term_sendkeys(buf, "\<C-N>")
call VerifyScreenDump(buf, 'Test_pum_with_preview_win', {})
diff --git a/test/old/testdir/test_mapping.vim b/test/old/testdir/test_mapping.vim
index f8c8bc95f9..40d0b3e6f7 100644
--- a/test/old/testdir/test_mapping.vim
+++ b/test/old/testdir/test_mapping.vim
@@ -278,9 +278,9 @@ func Test_map_timeout()
endfunc
func Test_map_timeout_with_timer_interrupt()
- if !has('job') || !has('timers')
- return
- endif
+ CheckFeature job
+ CheckFeature timers
+ let g:test_is_flaky = 1
" Confirm the timer invoked in exit_cb of the job doesn't disturb mapped key
" sequence.
@@ -418,9 +418,9 @@ func Test_error_in_map_expr()
" GC must not run during map-expr processing, which can make Vim crash.
call term_sendkeys(buf, '!')
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
call term_sendkeys(buf, "\<CR>")
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
call assert_equal('run', job_status(job))
call term_sendkeys(buf, ":qall!\<CR>")
@@ -1226,7 +1226,7 @@ func Test_map_cmdkey_visual_mode()
call feedkeys("v\<F4>", 'xt!')
call assert_equal(['v', 1, 12], [mode(1), col('v'), col('.')])
- " can invoke an opeartor, ending the visual mode
+ " can invoke an operator, ending the visual mode
let @a = ''
call feedkeys("\<F5>", 'xt!')
call assert_equal('n', mode(1))
diff --git a/test/old/testdir/test_match.vim b/test/old/testdir/test_match.vim
index 600b6132a9..1cb52b8b2a 100644
--- a/test/old/testdir/test_match.vim
+++ b/test/old/testdir/test_match.vim
@@ -322,7 +322,7 @@ func OtherWindowCommon()
END
call writefile(lines, 'XscriptMatchCommon')
let buf = RunVimInTerminal('-S XscriptMatchCommon', #{rows: 12})
- call term_wait(buf)
+ call TermWait(buf)
return buf
endfunc
@@ -373,7 +373,6 @@ func Test_match_in_linebreak()
END
call writefile(lines, 'XscriptMatchLinebreak')
let buf = RunVimInTerminal('-S XscriptMatchLinebreak', #{rows: 10})
- call TermWait(buf)
call VerifyScreenDump(buf, 'Test_match_linebreak', {})
call StopVimInTerminal(buf)
@@ -390,7 +389,6 @@ func Test_match_with_incsearch()
END
call writefile(lines, 'XmatchWithIncsearch')
let buf = RunVimInTerminal('-S XmatchWithIncsearch', #{rows: 6})
- call TermWait(buf)
call VerifyScreenDump(buf, 'Test_match_with_incsearch_1', {})
call term_sendkeys(buf, ":s/0")
@@ -431,7 +429,6 @@ func Test_match_tab_with_linebreak()
END
call writefile(lines, 'XscriptMatchTabLinebreak')
let buf = RunVimInTerminal('-S XscriptMatchTabLinebreak', #{rows: 10})
- call TermWait(buf)
call VerifyScreenDump(buf, 'Test_match_tab_linebreak', {})
call StopVimInTerminal(buf)
diff --git a/test/old/testdir/test_matchadd_conceal.vim b/test/old/testdir/test_matchadd_conceal.vim
index 1b5fc8313f..6c9b8786f5 100644
--- a/test/old/testdir/test_matchadd_conceal.vim
+++ b/test/old/testdir/test_matchadd_conceal.vim
@@ -372,14 +372,14 @@ func Test_cursor_column_in_concealed_line_after_window_scroll()
END
call writefile(lines, 'Xcolesearch')
let buf = RunVimInTerminal('Xcolesearch', {})
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
" Jump to something that is beyond the bottom of the window,
" so there's a scroll down.
call term_sendkeys(buf, ":so %\<CR>")
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
call term_sendkeys(buf, "/expr\<CR>")
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
" Are the concealed parts of the current line really hidden?
let cursor_row = term_scrape(buf, '.')->map({_, e -> e.chars})->join('')
@@ -409,7 +409,7 @@ func Test_cursor_column_in_concealed_line_after_leftcol_change()
" Horizontal scroll would center the cursor in the screen line, but conceal
" makes it go to screen column 1.
call term_sendkeys(buf, "$")
- call term_wait(buf)
+ call TermWait(buf)
" Are the concealed parts of the current line really hidden?
call WaitForAssert({-> assert_equal('c', term_getline(buf, '.'))})
diff --git a/test/old/testdir/test_messages.vim b/test/old/testdir/test_messages.vim
index 31c8b9942b..adafb6bd23 100644
--- a/test/old/testdir/test_messages.vim
+++ b/test/old/testdir/test_messages.vim
@@ -112,7 +112,7 @@ func Test_mode_message_at_leaving_insert_by_ctrl_c()
let rows = 10
let buf = term_start([GetVimProg(), '--clean', '-S', testfile], {'term_rows': rows})
- call term_wait(buf, 200)
+ call TermWait(buf, 100)
call assert_equal('run', job_status(term_getjob(buf)))
call term_sendkeys(buf, "i")
@@ -140,7 +140,7 @@ func Test_mode_message_at_leaving_insert_with_esc_mapped()
let rows = 10
let buf = term_start([GetVimProg(), '--clean', '-S', testfile], {'term_rows': rows})
- call term_wait(buf, 200)
+ call WaitForAssert({-> assert_match('0,0-1\s*All$', term_getline(buf, rows - 1))})
call assert_equal('run', job_status(term_getjob(buf)))
call term_sendkeys(buf, "i")
diff --git a/test/old/testdir/test_number.vim b/test/old/testdir/test_number.vim
index cf777fd918..1232db80c5 100644
--- a/test/old/testdir/test_number.vim
+++ b/test/old/testdir/test_number.vim
@@ -280,7 +280,7 @@ func Test_relativenumber_colors()
" Check that the balloon shows up after a mouse move
let buf = RunVimInTerminal('-S XTest_relnr', {'rows': 10, 'cols': 50})
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
" Default colors
call VerifyScreenDump(buf, 'Test_relnr_colors_1', {})
diff --git a/test/old/testdir/test_popup.vim b/test/old/testdir/test_popup.vim
index 54b40e5732..0ff7d67c9f 100644
--- a/test/old/testdir/test_popup.vim
+++ b/test/old/testdir/test_popup.vim
@@ -676,7 +676,9 @@ endfunc
func Test_popup_and_window_resize()
CheckFeature terminal
+ CheckFeature quickfix
CheckNotGui
+ let g:test_is_flaky = 1
let h = winheight(0)
if h < 15
@@ -691,11 +693,11 @@ func Test_popup_and_window_resize()
call term_sendkeys(buf, "Gi\<c-x>")
call term_sendkeys(buf, "\<c-v>")
- call term_wait(buf, 100)
+ call TermWait(buf, 50)
" popup first entry "!"