diff options
author | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2023-03-07 04:13:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-07 11:13:04 +0800 |
commit | af23d173883f47fd02a9a380c719e4428370b484 (patch) | |
tree | d5da436c1539905528254225dd8f817f1577fb84 /test/old/testdir/test_nested_function.vim | |
parent | bf4eada2c83f5402fc56370fd22af11029a4a3aa (diff) | |
download | rneovim-af23d173883f47fd02a9a380c719e4428370b484.tar.gz rneovim-af23d173883f47fd02a9a380c719e4428370b484.tar.bz2 rneovim-af23d173883f47fd02a9a380c719e4428370b484.zip |
test: move oldtests to test directory (#22536)
The new oldtest directory is in test/old/testdir. The reason for this is
that many tests have hardcoded the parent directory name to be
'testdir'.
Diffstat (limited to 'test/old/testdir/test_nested_function.vim')
-rw-r--r-- | test/old/testdir/test_nested_function.vim | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/old/testdir/test_nested_function.vim b/test/old/testdir/test_nested_function.vim new file mode 100644 index 0000000000..afaaea6ceb --- /dev/null +++ b/test/old/testdir/test_nested_function.vim @@ -0,0 +1,63 @@ +"Tests for nested functions +" +func NestedFunc() + func! Func1() + let g:text .= 'Func1 ' + endfunc + call Func1() + func! s:func2() + let g:text .= 's:func2 ' + endfunc + call s:func2() + func! s:_func3() + let g:text .= 's:_func3 ' + endfunc + call s:_func3() + let fn = 'Func4' + func! {fn}() + let g:text .= 'Func4 ' + endfunc + call {fn}() + let fn = 'func5' + func! s:{fn}() + let g:text .= 's:func5' + endfunc + call s:{fn}() +endfunc + +func Test_nested_functions() + let g:text = '' + call NestedFunc() + call assert_equal('Func1 s:func2 s:_func3 Func4 s:func5', g:text) +endfunction + +func Test_nested_argument() + func g:X() + let g:Y = function('sort') + endfunc + let g:Y = function('sort') + echo g:Y([], g:X()) + delfunc g:X + unlet g:Y +endfunc + +func Recurse(count) + if a:count > 0 + call Recurse(a:count - 1) + endif +endfunc + +func Test_max_nesting() + let call_depth_here = 2 + let ex_depth_here = 5 + set mfd& + + call Recurse(99 - call_depth_here) + call assert_fails('call Recurse(' . (100 - call_depth_here) . ')', 'E132:') + + set mfd=210 + call Recurse(209 - ex_depth_here) + call assert_fails('call Recurse(' . (210 - ex_depth_here) . ')', 'E169:') + + set mfd& +endfunc |