diff src/testdir/test_vim9_expr.vim @ 19848:36d629aa3d6e v8.2.0480

patch 8.2.0480: Vim9: some code is not tested Commit: https://github.com/vim/vim/commit/0b37a2f379f36d097e7fa90a3e86da6a29ed2aaa Author: Bram Moolenaar <Bram@vim.org> Date: Sun Mar 29 21:38:15 2020 +0200 patch 8.2.0480: Vim9: some code is not tested Problem: Vim9: some code is not tested. Solution: Add more tests.
author Bram Moolenaar <Bram@vim.org>
date Sun, 29 Mar 2020 21:45:03 +0200
parents e4ade28bfaf7
children eddc81783052
line wrap: on
line diff
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -706,9 +706,12 @@ def Test_expr7_list()
   assert_equal(g:list_empty, [])
   assert_equal(g:list_empty, [  ])
   assert_equal(g:list_mixed, [1, 'b', false])
+  assert_equal('b', g:list_mixed[1])
 
   call CheckDefExecFailure("let x = g:anint[3]", 'E714:')
+  call CheckDefFailure("let x = g:list_mixed[xxx]", 'E1001:')
   call CheckDefExecFailure("let x = g:list_mixed['xx']", 'E39:')
+  call CheckDefFailure("let x = g:list_mixed[0", 'E111:')
   call CheckDefExecFailure("let x = g:list_empty[3]", 'E684:')
 enddef
 
@@ -739,6 +742,12 @@ def Test_expr7_dict()
   call CheckDefExecFailure("let x = g:dict_empty.member", 'E716:')
 enddef
 
+def Test_expr_member()
+  assert_equal(1, g:dict_one.one)
+
+  call CheckDefFailure("let x = g:dict_one.#$!", 'E1002:')
+enddef
+
 def Test_expr7_option()
   " option
   set ts=11
@@ -778,6 +787,30 @@ def Test_expr7_parens()
   assert_equal(-6, ---6)
 enddef
 
+def Test_expr7_negate()
+  assert_equal(-99, -99)
+  assert_equal(99, --99)
+  let nr = 88
+  assert_equal(-88, -nr)
+  assert_equal(88, --nr)
+enddef
+
+def Echo(arg): string
+  return arg
+enddef
+
+def s:EchoArg(arg): string
+  return arg
+enddef
+
+def Test_expr7_call()
+  assert_equal('yes', 'yes'->Echo())
+  assert_equal('yes', 'yes'->s:EchoArg())
+
+  call CheckDefFailure("let x = 'yes'->Echo", 'E107:')
+enddef
+
+
 def Test_expr7_not()
   assert_equal(true, !'')
   assert_equal(true, ![])