summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_vim9_func.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/test_vim9_func.vim')
-rw-r--r--src/testdir/test_vim9_func.vim32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index ffb8de48dd..ecdbd5eaca 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -778,6 +778,38 @@ def Test_using_vnone_default()
END
v9.CheckScriptSuccess(lines)
+ lines =<< trim END
+ vim9script
+
+ export def Floats(x: float, y = 2.0, z = 5.0)
+ g:result = printf("%.2f %.2f %.2f", x, y, z)
+ enddef
+ END
+ writefile(lines, 'Xlib.vim', 'D')
+
+ # test using a function reference in script-local variable
+ lines =<< trim END
+ vim9script
+
+ import './Xlib.vim'
+ const Floatfunc = Xlib.Floats
+ Floatfunc(1.0, v:none, 3.0)
+ END
+ v9.CheckScriptSuccess(lines)
+ assert_equal('1.00 2.00 3.00', g:result)
+ unlet g:result
+
+ # test calling the imported function
+ lines =<< trim END
+ vim9script
+
+ import './Xlib.vim'
+ Xlib.Floats(1.0, v:none, 3.0)
+ END
+ v9.CheckScriptSuccess(lines)
+ assert_equal('1.00 2.00 3.00', g:result)
+ unlet g:result
+
# TODO: this should give an error for using a missing argument
# lines =<< trim END
# vim9script