Mercurial > vim
view src/testdir/test_balloon.vim @ 17184:a5c3d374e1d3 v8.1.1591
patch 8.1.1591: on error garbage collection may free memory in use
commit https://github.com/vim/vim/commit/7d491c425334d9477637372a4ebec64c228c8430
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jun 25 06:28:02 2019 +0200
patch 8.1.1591: on error garbage collection may free memory in use
Problem: On error garbage collection may free memory in use.
Solution: Reset may_garbage_collect when evaluating expression mapping.
Add tests. (Ozaki Kiichi, closes #4579)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 25 Jun 2019 06:30:09 +0200 |
parents | 6990c1160ea5 |
children | 6f1679e1082d |
line wrap: on
line source
" Tests for 'balloonevalterm'. " A few tests only work in the terminal. if has('gui_running') throw 'Skipped: only work in the terminal' endif source check.vim CheckFeature balloon_eval_term source screendump.vim if !CanRunVimInTerminal() throw 'Skipped: cannot make screendumps' endif let s:common_script =<< trim [CODE] call setline(1, ["one one one", "two tXo two", "three three three"]) set balloonevalterm balloonexpr=MyBalloonExpr() balloondelay=100 func MyBalloonExpr() return "line " .. v:beval_lnum .. " column " .. v:beval_col .. ": " .. v:beval_text endfun redraw [CODE] func Test_balloon_eval_term() " Use <Ignore> after <MouseMove> to return from vgetc() without removing " the balloon. call writefile(s:common_script + [ \ 'call test_setmouse(2, 6)', \ 'call feedkeys("\<MouseMove>\<Ignore>", "xt")', \ ], 'XTest_beval') " Check that the balloon shows up after a mouse move let buf = RunVimInTerminal('-S XTest_beval', {'rows': 10, 'cols': 50}) call term_wait(buf, 100) call VerifyScreenDump(buf, 'Test_balloon_eval_term_01', {}) " clean up call StopVimInTerminal(buf) call delete('XTest_beval') endfunc func Test_balloon_eval_term_visual() " Use <Ignore> after <MouseMove> to return from vgetc() without removing " the balloon. call writefile(s:common_script + [ \ 'call test_setmouse(3, 6)', \ 'call feedkeys("3Gevfr\<MouseMove>\<Ignore>", "xt")', \ ], 'XTest_beval_visual') " Check that the balloon shows up after a mouse move let buf = RunVimInTerminal('-S XTest_beval_visual', {'rows': 10, 'cols': 50}) call term_wait(buf, 100) call VerifyScreenDump(buf, 'Test_balloon_eval_term_02', {}) " clean up call StopVimInTerminal(buf) call delete('XTest_beval_visual') endfunc