diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-08-01 00:03:09 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-08-01 00:03:09 +0200 |
commit | af8edbb8dc551aaf2105a4d77b3d8495da239ef0 (patch) | |
tree | c968eb7edde8e1229516ad33f7f2b927b52d2314 /src/testdir | |
parent | ce6583568ff5b3e0e6438b37ede2c80bedffba10 (diff) |
patch 8.2.1333: Vim9: memory leak when using nested global functionv8.2.1333
Problem: Vim9: memory leak when using nested global function.
Solution: Swap from and to when copying the lines.
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_vim9_func.vim | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index 28937a1ddd..7298d9a734 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -133,6 +133,12 @@ def Test_nested_function() CheckDefFailure(['func Nested()', 'endfunc'], 'E1086:') enddef +func Test_call_default_args_from_func() + call assert_equal('string', MyDefaultArgs()) + call assert_equal('one', MyDefaultArgs('one')) + call assert_fails('call MyDefaultArgs("one", "two")', 'E118:') +endfunc + def Test_nested_global_function() let lines =<< trim END vim9script @@ -141,25 +147,20 @@ def Test_nested_global_function() return 'inner' enddef enddef -# Outer() -# assert_equal('inner', g:Inner()) -# delfunc g:Inner -# Outer() -# assert_equal('inner', g:Inner()) -# delfunc g:Inner -# Outer() -# assert_equal('inner', g:Inner()) -# delfunc g:Inner + defcompile + Outer() + assert_equal('inner', g:Inner()) + delfunc g:Inner + Outer() + assert_equal('inner', g:Inner()) + delfunc g:Inner + Outer() + assert_equal('inner', g:Inner()) + delfunc g:Inner END CheckScriptSuccess(lines) enddef -func Test_call_default_args_from_func() - call assert_equal('string', MyDefaultArgs()) - call assert_equal('one', MyDefaultArgs('one')) - call assert_fails('call MyDefaultArgs("one", "two")', 'E118:') -endfunc - func TakesOneArg(arg) echo a:arg endfunc |