changeset 29006:99a7eb1881c7 v8.2.5025

patch 8.2.5025: Vim9: a few lines not covered by tests Commit: https://github.com/vim/vim/commit/5cb53b7afe6bde8f2bf6fc6b65b86071b67a8554 Author: Bram Moolenaar <Bram@vim.org> Date: Thu May 26 19:54:05 2022 +0100 patch 8.2.5025: Vim9: a few lines not covered by tests Problem: Vim9: a few lines not covered by tests. Solution: Add a few tests.
author Bram Moolenaar <Bram@vim.org>
date Thu, 26 May 2022 21:00:04 +0200
parents 177af01c5c4d
children 0e8c870971f7
files src/testdir/test_vim9_assign.vim src/testdir/test_vim9_import.vim src/version.c src/vim9script.c
diffstat 4 files changed, 44 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -213,6 +213,8 @@ def Test_assignment()
   v9.CheckDefFailure(['var s:var = 123'], 'E1101:')
   v9.CheckDefFailure(['var s:var: number'], 'E1101:')
 
+  v9.CheckDefAndScriptFailure(['var $VAR: number'], ['E1016:', 'E475:'])
+
   lines =<< trim END
     vim9script
     def SomeFunc()
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -312,6 +312,14 @@ def Test_vim9_import_export()
   writefile(import_no_as_lines, 'Ximport.vim')
   assert_fails('source Ximport.vim', 'E488:', '', 2, 'Ximport.vim')
 
+  # trailing starts with "as"
+  var import_bad_as_lines =<< trim END
+    vim9script
+    import './Xexport.vim' asname
+  END
+  writefile(import_no_as_lines, 'Ximport.vim')
+  assert_fails('source Ximport.vim', 'E488:', '', 2, 'Ximport.vim')
+
   var import_invalid_string_lines =<< trim END
     vim9script
     import Xexport.vim
@@ -396,6 +404,27 @@ def Test_vim9_import_export()
   delete('Xvim9_script')
 enddef
 
+def Test_import_very_long_name()
+  var lines =<< trim END
+      vim9script
+
+      export var verylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongname = 'asdf'
+  END
+  writefile(lines, 'Xverylong.vim')
+
+  lines =<< trim END
+      vim9script
+      import './Xverylong.vim'
+
+      g:result = Xverylong.verylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongname
+  END
+  v9.CheckScriptSuccess(lines)
+  assert_equal('asdf', g:result)
+
+  delete('Xverylong.vim')
+  unlet g:result
+enddef
+
 def Test_import_funcref()
   var lines =<< trim END
       vim9script
@@ -712,6 +741,16 @@ def Test_use_relative_autoload_import_in
   nunmap <F3>
 enddef
 
+def Test_autoload_import_var()
+  # variable name starts with "autoload"
+  var lines =<< trim END
+      vim9script
+      var autoloaded = "Xtest.vim"
+      import autoloaded
+  END
+  v9.CheckScriptFailure(lines, 'E1053: Could not import "Xtest.vim')
+enddef
+
 def Test_use_autoload_import_in_mapping()
   var lines =<< trim END
       vim9script
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5025,
+/**/
     5024,
 /**/
     5023,
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -804,7 +804,7 @@ find_exported(
 }
 
 /*
- * Declare a script-local variable without init: "let var: type".
+ * Declare a script-local variable without init: "var name: type".
  * "const" is an error since the value is missing.
  * Returns a pointer to after the type.
  */