summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-07-26 17:56:25 +0200
committerBram Moolenaar <Bram@vim.org>2020-07-26 17:56:25 +0200
commit4fc224ca1cf2a8991c5ea17682a742c6ad5ad0f3 (patch)
tree4c752cc9133d073c9f0a085f94bdd38948598d7a /src/testdir
parent2547aa930b59f5e2bcb70e81d5a57ed461e59b4f (diff)
patch 8.2.1300: Vim9: optional argument type not parsed properlyv8.2.1300
Problem: Vim9: optional argument type not parsed properly. Solution: Skip over the "?". (issue #6507)
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/test_vim9_func.vim13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 49be8f97a2..ade1fd1459 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -350,6 +350,19 @@ def Test_call_funcref()
let Funcref: func(string) = function('UseNumber')
END
CheckScriptFailure(lines, 'E1013: type mismatch, expected func(string) but got func(number)')
+
+ lines =<< trim END
+ vim9script
+ def EchoNr(nr = 34)
+ g:echo = nr
+ enddef
+ let Funcref: func(?number) = function('EchoNr')
+ Funcref()
+ assert_equal(34, g:echo)
+ Funcref(123)
+ assert_equal(123, g:echo)
+ END
+ CheckScriptSuccess(lines)
enddef
let SomeFunc = function('len')