diff options
author | ZyX <kp-pav@yandex.ru> | 2015-11-23 14:24:25 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-12-18 19:29:49 +0300 |
commit | ea67bf808bfaee5d4ad68fa40235929db28dbd57 (patch) | |
tree | c4ffbb585ac32521d435b87a7b3aaa9a46582792 /test/functional/shada/errors_spec.lua | |
parent | cc203e4b93d920cb749f80336504d7e6df0081a2 (diff) | |
download | rneovim-ea67bf808bfaee5d4ad68fa40235929db28dbd57.tar.gz rneovim-ea67bf808bfaee5d4ad68fa40235929db28dbd57.tar.bz2 rneovim-ea67bf808bfaee5d4ad68fa40235929db28dbd57.zip |
shada: Continue dumping when variables failed to dump
Closes #3721
Diffstat (limited to 'test/functional/shada/errors_spec.lua')
-rw-r--r-- | test/functional/shada/errors_spec.lua | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/test/functional/shada/errors_spec.lua b/test/functional/shada/errors_spec.lua index 62b9e6c84d..f6265bf24b 100644 --- a/test/functional/shada/errors_spec.lua +++ b/test/functional/shada/errors_spec.lua @@ -1,6 +1,7 @@ -- ShaDa errors handling support local helpers = require('test.functional.helpers') -local nvim_command, eq, exc_exec = helpers.command, helpers.eq, helpers.exc_exec +local nvim_command, eq, exc_exec, redir_exec = + helpers.command, helpers.eq, helpers.exc_exec, helpers.redir_exec local shada_helpers = require('test.functional.shada.helpers') local reset, clear, get_shada_rw = @@ -492,4 +493,21 @@ $ eq('Vim(wshada):E576: Error while reading ShaDa file: last entry specified that it occupies 47 bytes, but file ended earlier', exc_exec('wshada ' .. shada_fname)) eq(0, exc_exec('wshada! ' .. shada_fname)) end) + + it('errors when a funcref is stored in a variable', function() + nvim_command('let F = function("tr")') + nvim_command('set shada+=!') + eq('\nE475: Invalid argument: attempt to dump function reference' + .. '\nE574: Failed to write variable F', + redir_exec('wshada')) + end) + + it('errors when a self-referencing list is stored in a variable', function() + nvim_command('let L = []') + nvim_command('call add(L, L)') + nvim_command('set shada+=!') + eq('\nE475: Invalid argument: container references itself' + .. '\nE574: Failed to write variable L', + redir_exec('wshada')) + end) end) |