]> granicus.if.org Git - vim/commitdiff
patch 8.2.5025: Vim9: a few lines not covered by tests v8.2.5025
authorBram Moolenaar <Bram@vim.org>
Thu, 26 May 2022 18:54:05 +0000 (19:54 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 26 May 2022 18:54:05 +0000 (19:54 +0100)
Problem:    Vim9: a few lines not covered by tests.
Solution:   Add a few tests.

src/testdir/test_vim9_assign.vim
src/testdir/test_vim9_import.vim
src/version.c
src/vim9script.c

index a13e3707c358bf53f50612e9171066c8fd45c0c6..b0ce398568a84e6dc126a65c24970d5e8b889d94 100644 (file)
@@ -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()
index 159e51b2febaebe50b7cc1c59f18c815a5c5cc80..415a7a99a45f13eab821d13488f4226041cbfe37 100644 (file)
@@ -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_mapping()
   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
index ec52074c48bdba289a20537cc88f46ec051012b4..1b7615c47c47e391b4063fc5d4b912ad0272024f 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    5025,
 /**/
     5024,
 /**/
index 6595882f722683cd88139a70e8e8eefef9fa4b9a..14f36b405705be95819f15973027130658ffe3bb 100644 (file)
@@ -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.
  */