summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-05-26 19:54:05 +0100
committerBram Moolenaar <Bram@vim.org>2022-05-26 19:54:05 +0100
commit5cb53b7afe6bde8f2bf6fc6b65b86071b67a8554 (patch)
tree5daae23e5f261de0600fc72fc1b945be9028ce98
parente2fa213cf571041dbd04ab0329303ffdc980678a (diff)
patch 8.2.5025: Vim9: a few lines not covered by testsv8.2.5025
Problem: Vim9: a few lines not covered by tests. Solution: Add a few tests.
-rw-r--r--src/testdir/test_vim9_assign.vim2
-rw-r--r--src/testdir/test_vim9_import.vim39
-rw-r--r--src/version.c2
-rw-r--r--src/vim9script.c2
4 files changed, 44 insertions, 1 deletions
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index a13e3707c3..b0ce398568 100644
--- 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()
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 159e51b2fe..415a7a99a4 100644
--- 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_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
diff --git a/src/version.c b/src/version.c
index ec52074c48..1b7615c47c 100644
--- 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,
diff --git a/src/vim9script.c b/src/vim9script.c
index 6595882f72..14f36b4057 100644
--- 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.
*/