let width = &columns
botright vert term
let buf = bufnr('$')
- call term_wait(buf, 100)
+ call TermWait(buf, 100)
exe "set columns=" .. (width / 2)
redraw
call term_sendkeys(buf, "キ")
- call term_wait(buf, 10)
+ call TermWait(buf, 10)
exe "set columns=" .. width
exe buf . 'bwipe!'
endfunc
CheckRunVimInTerminal
call assert_fails("call term_dumpwrite({}, 'Xtest.dump')", 'E728:')
let buf = RunVimInTerminal('', {})
- call term_wait(buf)
+ call TermWait(buf)
call assert_fails("call term_dumpwrite(buf, 'Xtest.dump', '')", 'E715:')
call assert_fails("call term_dumpwrite(buf, [])", 'E730:')
call writefile([], 'Xtest.dump')
call assert_fails("call term_dumpwrite(buf, test_null_string())", 'E482:')
call test_garbagecollect_now()
call StopVimInTerminal(buf)
- call term_wait(buf)
+ call TermWait(buf)
call assert_fails("call term_dumpwrite(buf, 'Xtest.dump')", 'E958:')
call assert_fails('call term_sendkeys([], ":q\<CR>")', 'E745:')
call assert_equal(0, term_sendkeys(buf, ":q\<CR>"))
call term_sendkeys(buf, ":set mouse=a term=xterm ttymouse=sgr\<CR>")
call term_sendkeys(buf, ":set clipboard=\<CR>")
call term_sendkeys(buf, ":set mousemodel=extend\<CR>")
- call term_wait(buf)
+ call TermWait(buf)
redraw!
" Use the mouse to enter the terminal window
call feedkeys("\<LeftMouse>\<LeftRelease>", 'xt')
call test_setmouse(3, 8)
call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":call writefile([json_encode(getpos('.'))], 'Xbuf')\<CR>")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
let pos = json_decode(readfile('Xbuf')[0])
call assert_equal([3, 8], pos[1:2])
call term_sendkeys(buf, "\<LeftMouse>")
call test_setmouse(2, 16)
call term_sendkeys(buf, "\<LeftRelease>y")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call assert_equal('yellow', readfile('Xbuf')[0])
" Test for selecting text using doubleclick
call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>")
call test_setmouse(1, 17)
call term_sendkeys(buf, "\<LeftRelease>y")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call assert_equal('three four', readfile('Xbuf')[0])
" Test for selecting a line using triple click
call delete('Xbuf')
call test_setmouse(3, 2)
call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>y")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call assert_equal("vim emacs sublime nano\n", readfile('Xbuf')[0])
" Test for selecting a block using qudraple click
call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>")
call test_setmouse(3, 13)
call term_sendkeys(buf, "\<LeftRelease>y")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call assert_equal("ree\nyel\nsub", readfile('Xbuf')[0])
" Test for extending a selection using right click
call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>")
call test_setmouse(2, 16)
call term_sendkeys(buf, "\<RightMouse>\<RightRelease>y")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call assert_equal("n yellow", readfile('Xbuf')[0])
" Test for pasting text using middle click
call term_sendkeys(buf, ":let @r='bright '\<CR>")
call test_setmouse(2, 22)
call term_sendkeys(buf, "\"r\<MiddleMouse>\<MiddleRelease>")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call term_sendkeys(buf, ":call writefile([getline(2)], 'Xbuf')\<CR>")
- call term_wait(buf, 50)
+ call TermWait(buf, 50)
call assert_equal("red bright blue", readfile('Xbuf')[0][-15:])
" cleanup
- call term_wait(buf)
+ call TermWait(buf)
call StopVimInTerminal(buf)
let &mouse = save_mouse
let &term = save_term
let buf = RunVimInTerminal('Xtest_modeless -n', {})
call term_sendkeys(buf, ":set nocompatible\<CR>")
call term_sendkeys(buf, ":set mouse=\<CR>")
- call term_wait(buf)
+ call TermWait(buf)
redraw!
" Use the mouse to enter the terminal window
call win_gotoid(prev_win)
call feedkeys(MouseLeftClickCode(1, 1), 'x')
call feedkeys(MouseLeftReleaseCode(1, 1), 'x')
- call term_wait(buf)
+ call TermWait(buf)
call assert_equal(1, getwininfo(win_getid())[0].terminal)
" Test for copying a modeless selection to clipboard
call assert_equal("d green y", @*)
" cleanup
- call term_wait(buf)
+ call TermWait(buf)
call StopVimInTerminal(buf)
let &mouse = save_mouse
let &term = save_term
call writefile(["Line1", "Line2"], 'Xfile')
let old_ftime = getftime('Xfile')
let buf = RunVimInTerminal('Xfile', #{rows : 10})
- call term_wait(buf)
+ call TermWait(buf)
call term_sendkeys(buf, ":set noswapfile\<CR>")
- call term_wait(buf)
+ call TermWait(buf)
" Modify the file directly. Make sure the file modification time is
" different. Note that on Linux/Unix, the file is considered modified
" Try to overwrite the file and check for the prompt
call term_sendkeys(buf, ":w\<CR>")
- call term_wait(buf)
+ call TermWait(buf)
call WaitForAssert({-> assert_equal("WARNING: The file has been changed since reading it!!!", term_getline(buf, 9))})
call assert_equal("Do you really want to write to it (y/n)?",
\ term_getline(buf, 10))
call term_sendkeys(buf, "n\<CR>")
- call term_wait(buf)
+ call TermWait(buf)
call assert_equal(new_ftime, getftime('Xfile'))
call term_sendkeys(buf, ":w\<CR>")
- call term_wait(buf)
+ call TermWait(buf)
call term_sendkeys(buf, "y\<CR>")
- call term_wait(buf)
+ call TermWait(buf)
call WaitForAssert({-> assert_equal('Line2', readfile('Xfile')[1])})
" clean up
set cpoptions-=S
let &fileencoding = save_fileencoding
call delete('Xtest1')
- call delete('Xtest2')
+ call delete('Xfile2')
call delete('Xtest3')
%bw!
endfunc