aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/nested_function_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/legacy/nested_function_spec.lua')
-rw-r--r--test/functional/legacy/nested_function_spec.lua50
1 files changed, 50 insertions, 0 deletions
diff --git a/test/functional/legacy/nested_function_spec.lua b/test/functional/legacy/nested_function_spec.lua
new file mode 100644
index 0000000000..87371c8294
--- /dev/null
+++ b/test/functional/legacy/nested_function_spec.lua
@@ -0,0 +1,50 @@
+-- Tests for nested function.
+
+local helpers = require('test.functional.helpers')
+local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
+local execute, expect, source = helpers.execute, helpers.expect, helpers.source
+
+describe('test_nested_function', function()
+ setup(clear)
+
+ it('is working', function()
+ insert([[
+ result:]])
+
+ source([[
+ :fu! NestedFunc()
+ : fu! Func1()
+ : $put ='Func1'
+ : endfunction
+ : call Func1()
+ : fu! s:func2()
+ : $put ='s:func2'
+ : endfunction
+ : call s:func2()
+ : fu! s:_func3()
+ : $put ='s:_func3'
+ : endfunction
+ : call s:_func3()
+ : let fn = 'Func4'
+ : fu! {fn}()
+ : $put ='Func4'
+ : endfunction
+ : call {fn}()
+ : let fn = 'func5'
+ : fu! s:{fn}()
+ : $put ='s:func5'
+ : endfunction
+ : call s:{fn}()
+ :endfunction]])
+ execute('call NestedFunc()')
+
+ -- Assert buffer contents.
+ expect([[
+ result:
+ Func1
+ s:func2
+ s:_func3
+ Func4
+ s:func5]])
+ end)
+end)