diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/legacy/crash_spec.lua | 16 | ||||
-rw-r--r-- | test/old/testdir/test_crash.vim | 25 |
2 files changed, 41 insertions, 0 deletions
diff --git a/test/functional/legacy/crash_spec.lua b/test/functional/legacy/crash_spec.lua new file mode 100644 index 0000000000..5094f81847 --- /dev/null +++ b/test/functional/legacy/crash_spec.lua @@ -0,0 +1,16 @@ +local helpers = require('test.functional.helpers')(after_each) +local assert_alive = helpers.assert_alive +local clear = helpers.clear +local command = helpers.command +local feed = helpers.feed + +before_each(clear) + +-- oldtest: Test_crash1() +it('no crash when ending Visual mode while editing buffer closes window', function() + command('new') + command('autocmd ModeChanged v:n ++once close') + feed('v') + command('enew') + assert_alive() +end) diff --git a/test/old/testdir/test_crash.vim b/test/old/testdir/test_crash.vim new file mode 100644 index 0000000000..0dea3c2cb1 --- /dev/null +++ b/test/old/testdir/test_crash.vim @@ -0,0 +1,25 @@ +" Some tests, that used to crash Vim +source check.vim +source screendump.vim + +CheckScreendump + +func Test_crash1() + " The following used to crash Vim + let opts = #{wait_for_ruler: 0} + let args = ' -u NONE -i NONE -n -e -s -S ' + let buf = RunVimInTerminal(args .. ' crash/poc_huaf1', opts) + call VerifyScreenDump(buf, 'Test_crash_01', {}) + exe buf .. "bw!" + + let buf = RunVimInTerminal(args .. ' crash/poc_huaf2', opts) + call VerifyScreenDump(buf, 'Test_crash_01', {}) + exe buf .. "bw!" + + let buf = RunVimInTerminal(args .. ' crash/poc_huaf3', opts) + call VerifyScreenDump(buf, 'Test_crash_01', {}) + exe buf .. "bw!" + +endfunc + +" vim: shiftwidth=2 sts=2 expandtab |