1*19a1669fSBram Moolenaar"Tests for nested functions 2*19a1669fSBram Moolenaar" 3*19a1669fSBram Moolenaarfunction! NestedFunc() 4*19a1669fSBram Moolenaar fu! Func1() 5*19a1669fSBram Moolenaar let g:text .= 'Func1 ' 6*19a1669fSBram Moolenaar endfunction 7*19a1669fSBram Moolenaar call Func1() 8*19a1669fSBram Moolenaar fu! s:func2() 9*19a1669fSBram Moolenaar let g:text .= 's:func2 ' 10*19a1669fSBram Moolenaar endfunction 11*19a1669fSBram Moolenaar call s:func2() 12*19a1669fSBram Moolenaar fu! s:_func3() 13*19a1669fSBram Moolenaar let g:text .= 's:_func3 ' 14*19a1669fSBram Moolenaar endfunction 15*19a1669fSBram Moolenaar call s:_func3() 16*19a1669fSBram Moolenaar let fn = 'Func4' 17*19a1669fSBram Moolenaar fu! {fn}() 18*19a1669fSBram Moolenaar let g:text .= 'Func4 ' 19*19a1669fSBram Moolenaar endfunction 20*19a1669fSBram Moolenaar call {fn}() 21*19a1669fSBram Moolenaar let fn = 'func5' 22*19a1669fSBram Moolenaar fu! s:{fn}() 23*19a1669fSBram Moolenaar let g:text .= 's:func5' 24*19a1669fSBram Moolenaar endfunction 25*19a1669fSBram Moolenaar call s:{fn}() 26*19a1669fSBram Moolenaarendfunction 27*19a1669fSBram Moolenaar 28*19a1669fSBram Moolenaarfunction! Test_nested_functions() 29*19a1669fSBram Moolenaar let g:text = '' 30*19a1669fSBram Moolenaar call NestedFunc() 31*19a1669fSBram Moolenaar call assert_equal('Func1 s:func2 s:_func3 Func4 s:func5', g:text) 32*19a1669fSBram Moolenaarendfunction 33