diff src/testdir/test_vim9_script.vim @ 19818:c1c88b333481 v8.2.0465

patch 8.2.0465: Vim9: dead code and wrong return type Commit: https://github.com/vim/vim/commit/599c89c82fe3c85378e8077b4e589f0ee4218da2 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 28 14:53:20 2020 +0100 patch 8.2.0465: Vim9: dead code and wrong return type Problem: Vim9: dead code and wrong return type. Solution: Remove dead code. Fix return type. Add more tests.
author Bram Moolenaar <Bram@vim.org>
date Sat, 28 Mar 2020 15:00:10 +0100
parents 906269bf83d5
children fc3cdc819d80
line wrap: on
line diff
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -112,6 +112,16 @@ func Test_assignment_failure()
 
   call CheckDefFailure(['let var: dict <number>'], 'E1007:')
   call CheckDefFailure(['let var: dict<number'], 'E1009:')
+endfunc
+
+func Test_wrong_type()
+  call CheckDefFailure(['let var: list<nothing>'], 'E1010:')
+  call CheckDefFailure(['let var: list<list<nothing>>'], 'E1010:')
+  call CheckDefFailure(['let var: dict<nothing>'], 'E1010:')
+  call CheckDefFailure(['let var: dict<dict<nothing>>'], 'E1010:')
+
+  call CheckDefFailure(['let var: dict<number'], 'E1009:')
+  call CheckDefFailure(['let var: dict<list<number>'], 'E1009:')
 
   call CheckDefFailure(['let var: ally'], 'E1010:')
   call CheckDefFailure(['let var: bram'], 'E1010:')
@@ -436,6 +446,37 @@ def Test_vim9_import_export()
   source Ximport.vim
   assert_equal(9883, g:imported)
 
+  let import_star_as_lines_no_dot =<< trim END
+    vim9script
+    import * as Export from './Xexport.vim'
+    def Func()
+      let dummy = 1
+      let imported = Export + dummy
+    enddef
+  END
+  writefile(import_star_as_lines_no_dot, 'Ximport.vim')
+  assert_fails('source Ximport.vim', 'E1060:')
+
+  let import_star_as_lines_dot_space =<< trim END
+    vim9script
+    import * as Export from './Xexport.vim'
+    def Func()
+      let imported = Export . exported
+    enddef
+  END
+  writefile(import_star_as_lines_dot_space, 'Ximport.vim')
+  assert_fails('source Ximport.vim', 'E1074:')
+
+  let import_star_as_lines_missing_name =<< trim END
+    vim9script
+    import * as Export from './Xexport.vim'
+    def Func()
+      let imported = Export.
+    enddef
+  END
+  writefile(import_star_as_lines_missing_name, 'Ximport.vim')
+  assert_fails('source Ximport.vim', 'E1048:')
+
   let import_star_lines =<< trim END
     vim9script
     import * from './Xexport.vim'