aboutsummaryrefslogtreecommitdiff
path: root/test/old/testdir/test_nested_function.vim
diff options
context:
space:
mode:
authordundargoc <33953936+dundargoc@users.noreply.github.com>2023-03-07 04:13:04 +0100
committerGitHub <noreply@github.com>2023-03-07 11:13:04 +0800
commitaf23d173883f47fd02a9a380c719e4428370b484 (patch)
treed5da436c1539905528254225dd8f817f1577fb84 /test/old/testdir/test_nested_function.vim
parentbf4eada2c83f5402fc56370fd22af11029a4a3aa (diff)
downloadrneovim-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.vim63
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