diff options
author | erw7 <erw7.github@gmail.com> | 2020-06-07 01:31:23 +0900 |
---|---|---|
committer | erw7 <erw7.github@gmail.com> | 2020-06-08 23:15:10 +0900 |
commit | 9fc3949841817921a14fa64ae3d657c936acdfc4 (patch) | |
tree | ecce1d06329ce6ee612d8f322a256665d43f20bb /test/functional/shada/variables_spec.lua | |
parent | dbc8ec94464049311e69274cad562585d7bb6749 (diff) | |
download | rneovim-9fc3949841817921a14fa64ae3d657c936acdfc4.tar.gz rneovim-9fc3949841817921a14fa64ae3d657c936acdfc4.tar.bz2 rneovim-9fc3949841817921a14fa64ae3d657c936acdfc4.zip |
shada: fix write E5004 error on exit
Fix the problem of failing to write shada when the global variable contains
Funcref or Partial.
Diffstat (limited to 'test/functional/shada/variables_spec.lua')
-rw-r--r-- | test/functional/shada/variables_spec.lua | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/test/functional/shada/variables_spec.lua b/test/functional/shada/variables_spec.lua index 74bbceddcc..f53d1a873c 100644 --- a/test/functional/shada/variables_spec.lua +++ b/test/functional/shada/variables_spec.lua @@ -121,15 +121,27 @@ describe('ShaDa support code', function() meths.get_var('NESTEDVAR')) end) - it('errors and writes when a funcref is stored in a variable', + it('ignore when a funcref is stored in a variable', function() nvim_command('let F = function("tr")') meths.set_var('U', '10') nvim_command('set shada+=!') - eq('Vim(wshada):E5004: Error while dumping variable g:F, itself: attempt to dump function reference', - exc_exec('wshada')) - meths.set_option('shada', '') - reset('set shada+=!') + nvim_command('wshada') + reset() + nvim_command('set shada+=!') + nvim_command('rshada') + eq('10', meths.get_var('U')) + end) + + it('ignore when a partial is stored in a variable', + function() + nvim_command('let P = { -> 1 }') + meths.set_var('U', '10') + nvim_command('set shada+=!') + nvim_command('wshada') + reset() + nvim_command('set shada+=!') + nvim_command('rshada') eq('10', meths.get_var('U')) end) |