From 5cb53b7afe6bde8f2bf6fc6b65b86071b67a8554 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 26 May 2022 19:54:05 +0100 Subject: [PATCH] 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. --- src/testdir/test_vim9_assign.vim | 2 ++ src/testdir/test_vim9_import.vim | 39 ++++++++++++++++++++++++++++++++ src/version.c | 2 ++ src/vim9script.c | 2 +- 4 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim index a13e3707c..b0ce39856 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 159e51b2f..415a7a99a 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 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 ec52074c4..1b7615c47 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 5025, /**/ 5024, /**/ diff --git a/src/vim9script.c b/src/vim9script.c index 6595882f7..14f36b405 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. */ -- 2.40.0