summaryrefslogtreecommitdiff
path: root/src/testdir
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/test49.ok11
-rw-r--r--src/testdir/test49.vim33
2 files changed, 40 insertions, 4 deletions
diff --git a/src/testdir/test49.ok b/src/testdir/test49.ok
index 0caef818d..bf1ceed9a 100644
--- a/src/testdir/test49.ok
+++ b/src/testdir/test49.ok
@@ -87,8 +87,13 @@ Results of test49.vim:
*** Test 85: OK (198689)
--- Test 86: No Crash for vimgrep on BufUnload
*** Test 86: OK (0)
---- Test 87: All tests were run with throwing exceptions on error.
+--- Test 87: 3
+--- Test 87: 5
+--- Test 87: abcdefghijk
+--- Test 87: Successfully executed funcref Add2
+*** Test 87: OK (0)
+--- Test 88: All tests were run with throwing exceptions on error.
The $VIMNOERRTHROW control is not configured.
---- Test 87: All tests were run with throwing exceptions on interrupt.
+--- Test 88: All tests were run with throwing exceptions on interrupt.
The $VIMNOINTTHROW control is not configured.
-*** Test 87: OK (50443995)
+*** Test 88: OK (50443995)
diff --git a/src/testdir/test49.vim b/src/testdir/test49.vim
index f32f11493..c1ad76a7a 100644
--- a/src/testdir/test49.vim
+++ b/src/testdir/test49.vim
@@ -9624,7 +9624,38 @@ Xout "No Crash for vimgrep on BufUnload"
Xcheck 0
"-------------------------------------------------------------------------------
-" Test 87: $VIMNOERRTHROW and $VIMNOINTTHROW support {{{1
+" Test 87 using (expr) ? funcref : funcref {{{1
+"
+" Vim needs to correctly parse the funcref and even when it does
+" not execute the funcref, it needs to consume the trailing ()
+"-------------------------------------------------------------------------------
+
+XpathINIT
+
+func Add2(x1, x2)
+ return a:x1 + a:x2
+endfu
+
+func GetStr()
+ return "abcdefghijklmnopqrstuvwxyp"
+endfu
+
+echo function('Add2')(2,3)
+
+Xout 1 ? function('Add2')(1,2) : function('Add2')(2,3)
+Xout 0 ? function('Add2')(1,2) : function('Add2')(2,3)
+" Make sure, GetStr() still works.
+Xout GetStr()[0:10]
+
+
+delfunction GetStr
+delfunction Add2
+Xout "Successfully executed funcref Add2"
+
+Xcheck 0
+
+"-------------------------------------------------------------------------------
+" Test 88: $VIMNOERRTHROW and $VIMNOINTTHROW support {{{1
"
" It is possible to configure Vim for throwing exceptions on error
" or interrupt, controlled by variables $VIMNOERRTHROW and