summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_expr.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-02-13 20:46:18 +0000
committerBram Moolenaar <Bram@vim.org>2022-02-13 20:46:18 +0000
commitc87aa34dfd68e95e4b1aac96d2274fcd672753ac (patch)
tree2d6f581c3f42581615bdec06b4f0ae70b88f8cec /src/testdir/test_expr.vim
parent299d8e5eec8f8ae91177f7feb67ad59402dfa8e2 (diff)
patch 8.2.4373: expression test failsv8.2.4373
Problem: Expression test fails. Solution: Make the test work with latest Vim9 syntax.
Diffstat (limited to 'src/testdir/test_expr.vim')
-rw-r--r--src/testdir/test_expr.vim37
1 files changed, 27 insertions, 10 deletions
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index d45b998c40..7a998bc307 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -595,8 +595,8 @@ endfunc
func Test_function_with_funcref()
let lines =<< trim END
- VAR s:F = function('type')
- VAR s:Fref = function(s:F)
+ let s:F = function('type')
+ let s:Fref = function(s:F)
call assert_equal(v:t_string, s:Fref('x'))
call assert_fails("call function('s:F')", 'E700:')
@@ -604,17 +604,34 @@ func Test_function_with_funcref()
call assert_fails("call function('foo()')", 'foo()')
call assert_fails("function('')", 'E129:')
- legacy let s:Len = {s -> strlen(s)}
+ let s:Len = {s -> strlen(s)}
call assert_equal(6, s:Len('foobar'))
- VAR name = string(s:Len)
- #" can evaluate "function('<lambda>99')"
- call execute('VAR Ref = ' .. name)
+ let name = string(s:Len)
+ " can evaluate "function('<lambda>99')"
+ call execute('let Ref = ' .. name)
call assert_equal(4, Ref('text'))
END
- call v9.CheckTransLegacySuccess(lines)
- " skip CheckTransDefSuccess(), cannot assign to script variable
- call map(lines, {k, v -> v =~ 'legacy' ? v : substitute(v, 's:', '', 'g')})
- call v9.CheckTransVim9Success(lines)
+ call v9.CheckScriptSuccess(lines)
+
+ let lines =<< trim END
+ vim9script
+ var F = function('type')
+ var Fref = function(F)
+ call assert_equal(v:t_string, Fref('x'))
+ call assert_fails("call function('F')", 'E700:')
+
+ call assert_fails("call function('foo()')", 'E475:')
+ call assert_fails("call function('foo()')", 'foo()')
+ call assert_fails("function('')", 'E129:')
+
+ var Len = (s) => strlen(s)
+ call assert_equal(6, Len('foobar'))
+ var name = string(Len)
+ # can evaluate "function('<lambda>99')"
+ call execute('var Ref = ' .. name)
+ call assert_equal(4, Ref('text'))
+ END
+ call v9.CheckScriptSuccess(lines)
endfunc
func Test_funcref()