comparison src/testdir/test_terminal3.vim @ 21897:e0af4660dfc7 v8.2.1498

patch 8.2.1498: on slow systems tests can be flaky Commit: https://github.com/vim/vim/commit/733d259a83bfdd3e1670cc1665e1bd56501799df Author: Bram Moolenaar <Bram@vim.org> Date: Thu Aug 20 18:59:06 2020 +0200 patch 8.2.1498: on slow systems tests can be flaky Problem: On slow systems tests can be flaky. Solution: Use TermWait() instead of term-wait(). (Yegappan Lakshmanan, closes #6756)
author Bram Moolenaar <Bram@vim.org>
date Thu, 20 Aug 2020 19:00:03 +0200
parents 08940efa6b4e
children b85e13213b11
comparison
equal deleted inserted replaced
21896:4f7b50471a6a 21897:e0af4660dfc7
372 let buf = RunVimInTerminal('Xtest_mouse -n', {}) 372 let buf = RunVimInTerminal('Xtest_mouse -n', {})
373 call term_sendkeys(buf, ":set nocompatible\<CR>") 373 call term_sendkeys(buf, ":set nocompatible\<CR>")
374 call term_sendkeys(buf, ":set mouse=a term=xterm ttymouse=sgr\<CR>") 374 call term_sendkeys(buf, ":set mouse=a term=xterm ttymouse=sgr\<CR>")
375 call term_sendkeys(buf, ":set clipboard=\<CR>") 375 call term_sendkeys(buf, ":set clipboard=\<CR>")
376 call term_sendkeys(buf, ":set mousemodel=extend\<CR>") 376 call term_sendkeys(buf, ":set mousemodel=extend\<CR>")
377 call term_wait(buf) 377 call TermWait(buf)
378 redraw! 378 redraw!
379 379
380 " Use the mouse to enter the terminal window 380 " Use the mouse to enter the terminal window
381 call win_gotoid(prev_win) 381 call win_gotoid(prev_win)
382 call feedkeys(MouseLeftClickCode(1, 1), 'x') 382 call feedkeys(MouseLeftClickCode(1, 1), 'x')
386 " Test for <LeftMouse> click/release 386 " Test for <LeftMouse> click/release
387 call test_setmouse(2, 5) 387 call test_setmouse(2, 5)
388 call feedkeys("\<LeftMouse>\<LeftRelease>", 'xt') 388 call feedkeys("\<LeftMouse>\<LeftRelease>", 'xt')
389 call test_setmouse(3, 8) 389 call test_setmouse(3, 8)
390 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>") 390 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>")
391 call term_wait(buf, 50) 391 call TermWait(buf, 50)
392 call term_sendkeys(buf, ":call writefile([json_encode(getpos('.'))], 'Xbuf')\<CR>") 392 call term_sendkeys(buf, ":call writefile([json_encode(getpos('.'))], 'Xbuf')\<CR>")
393 call term_wait(buf, 50) 393 call TermWait(buf, 50)
394 let pos = json_decode(readfile('Xbuf')[0]) 394 let pos = json_decode(readfile('Xbuf')[0])
395 call assert_equal([3, 8], pos[1:2]) 395 call assert_equal([3, 8], pos[1:2])
396 396
397 " Test for selecting text using mouse 397 " Test for selecting text using mouse
398 call delete('Xbuf') 398 call delete('Xbuf')
399 call test_setmouse(2, 11) 399 call test_setmouse(2, 11)
400 call term_sendkeys(buf, "\<LeftMouse>") 400 call term_sendkeys(buf, "\<LeftMouse>")
401 call test_setmouse(2, 16) 401 call test_setmouse(2, 16)
402 call term_sendkeys(buf, "\<LeftRelease>y") 402 call term_sendkeys(buf, "\<LeftRelease>y")
403 call term_wait(buf, 50) 403 call TermWait(buf, 50)
404 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>") 404 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
405 call term_wait(buf, 50) 405 call TermWait(buf, 50)
406 call assert_equal('yellow', readfile('Xbuf')[0]) 406 call assert_equal('yellow', readfile('Xbuf')[0])
407 407
408 " Test for selecting text using doubleclick 408 " Test for selecting text using doubleclick
409 call delete('Xbuf') 409 call delete('Xbuf')
410 call test_setmouse(1, 11) 410 call test_setmouse(1, 11)
411 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>") 411 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>")
412 call test_setmouse(1, 17) 412 call test_setmouse(1, 17)
413 call term_sendkeys(buf, "\<LeftRelease>y") 413 call term_sendkeys(buf, "\<LeftRelease>y")
414 call term_wait(buf, 50) 414 call TermWait(buf, 50)
415 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>") 415 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
416 call term_wait(buf, 50) 416 call TermWait(buf, 50)
417 call assert_equal('three four', readfile('Xbuf')[0]) 417 call assert_equal('three four', readfile('Xbuf')[0])
418 418
419 " Test for selecting a line using triple click 419 " Test for selecting a line using triple click
420 call delete('Xbuf') 420 call delete('Xbuf')
421 call test_setmouse(3, 2) 421 call test_setmouse(3, 2)
422 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>y") 422 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>y")
423 call term_wait(buf, 50) 423 call TermWait(buf, 50)
424 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>") 424 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
425 call term_wait(buf, 50) 425 call TermWait(buf, 50)
426 call assert_equal("vim emacs sublime nano\n", readfile('Xbuf')[0]) 426 call assert_equal("vim emacs sublime nano\n", readfile('Xbuf')[0])
427 427
428 " Test for selecting a block using qudraple click 428 " Test for selecting a block using qudraple click
429 call delete('Xbuf') 429 call delete('Xbuf')
430 call test_setmouse(1, 11) 430 call test_setmouse(1, 11)
431 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>") 431 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>")
432 call test_setmouse(3, 13) 432 call test_setmouse(3, 13)
433 call term_sendkeys(buf, "\<LeftRelease>y") 433 call term_sendkeys(buf, "\<LeftRelease>y")
434 call term_wait(buf, 50) 434 call TermWait(buf, 50)
435 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>") 435 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
436 call term_wait(buf, 50) 436 call TermWait(buf, 50)
437 call assert_equal("ree\nyel\nsub", readfile('Xbuf')[0]) 437 call assert_equal("ree\nyel\nsub", readfile('Xbuf')[0])
438 438
439 " Test for extending a selection using right click 439 " Test for extending a selection using right click
440 call delete('Xbuf') 440 call delete('Xbuf')
441 call test_setmouse(2, 9) 441 call test_setmouse(2, 9)
442 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>") 442 call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>")
443 call test_setmouse(2, 16) 443 call test_setmouse(2, 16)
444 call term_sendkeys(buf, "\<RightMouse>\<RightRelease>y") 444 call term_sendkeys(buf, "\<RightMouse>\<RightRelease>y")
445 call term_wait(buf, 50) 445 call TermWait(buf, 50)
446 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>") 446 call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
447 call term_wait(buf, 50) 447 call TermWait(buf, 50)
448 call assert_equal("n yellow", readfile('Xbuf')[0]) 448 call assert_equal("n yellow", readfile('Xbuf')[0])
449 449
450 " Test for pasting text using middle click 450 " Test for pasting text using middle click
451 call delete('Xbuf') 451 call delete('Xbuf')
452 call term_sendkeys(buf, ":let @r='bright '\<CR>") 452 call term_sendkeys(buf, ":let @r='bright '\<CR>")
453 call test_setmouse(2, 22) 453 call test_setmouse(2, 22)
454 call term_sendkeys(buf, "\"r\<MiddleMouse>\<MiddleRelease>") 454 call term_sendkeys(buf, "\"r\<MiddleMouse>\<MiddleRelease>")
455 call term_wait(buf, 50) 455 call TermWait(buf, 50)
456 call term_sendkeys(buf, ":call writefile([getline(2)], 'Xbuf')\<CR>") 456 call term_sendkeys(buf, ":call writefile([getline(2)], 'Xbuf')\<CR>")
457 call term_wait(buf, 50) 457 call TermWait(buf, 50)
458 call assert_equal("red bright blue", readfile('Xbuf')[0][-15:]) 458 call assert_equal("red bright blue", readfile('Xbuf')[0][-15:])
459 459
460 " cleanup 460 " cleanup
461 call term_wait(buf) 461 call TermWait(buf)
462 call StopVimInTerminal(buf) 462 call StopVimInTerminal(buf)
463 let &mouse = save_mouse 463 let &mouse = save_mouse
464 let &term = save_term 464 let &term = save_term
465 let &ttymouse = save_ttymouse 465 let &ttymouse = save_ttymouse
466 let &clipboard = save_clipboard 466 let &clipboard = save_clipboard
492 " Create a terminal window running Vim for the test with mouse disabled 492 " Create a terminal window running Vim for the test with mouse disabled
493 let prev_win = win_getid() 493 let prev_win = win_getid()
494 let buf = RunVimInTerminal('Xtest_modeless -n', {}) 494 let buf = RunVimInTerminal('Xtest_modeless -n', {})
495 call term_sendkeys(buf, ":set nocompatible\<CR>") 495 call term_sendkeys(buf, ":set nocompatible\<CR>")
496 call term_sendkeys(buf, ":set mouse=\<CR>") 496 call term_sendkeys(buf, ":set mouse=\<CR>")
497 call term_wait(buf) 497 call TermWait(buf)
498 redraw! 498 redraw!
499 499
500 " Use the mouse to enter the terminal window 500 " Use the mouse to enter the terminal window
501 call win_gotoid(prev_win) 501 call win_gotoid(prev_win)
502 call feedkeys(MouseLeftClickCode(1, 1), 'x') 502 call feedkeys(MouseLeftClickCode(1, 1), 'x')
503 call feedkeys(MouseLeftReleaseCode(1, 1), 'x') 503 call feedkeys(MouseLeftReleaseCode(1, 1), 'x')
504 call term_wait(buf) 504 call TermWait(buf)
505 call assert_equal(1, getwininfo(win_getid())[0].terminal) 505 call assert_equal(1, getwininfo(win_getid())[0].terminal)
506 506
507 " Test for copying a modeless selection to clipboard 507 " Test for copying a modeless selection to clipboard
508 let @* = 'clean' 508 let @* = 'clean'
509 " communicating with X server may take a little time 509 " communicating with X server may take a little time
512 call feedkeys(MouseLeftDragCode(2, 11), 'x') 512 call feedkeys(MouseLeftDragCode(2, 11), 'x')
513 call feedkeys(MouseLeftReleaseCode(2, 11), 'x') 513 call feedkeys(MouseLeftReleaseCode(2, 11), 'x')
514 call assert_equal("d green y", @*) 514 call assert_equal("d green y", @*)
515 515
516 " cleanup 516 " cleanup
517 call term_wait(buf) 517 call TermWait(buf)
518 call StopVimInTerminal(buf) 518 call StopVimInTerminal(buf)
519 let &mouse = save_mouse 519 let &mouse = save_mouse
520 let &term = save_term 520 let &term = save_term
521 let &ttymouse = save_ttymouse 521 let &ttymouse = save_ttymouse
522 set mousetime& clipboard& 522 set mousetime& clipboard&