Mercurial > vim
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& |