From 0f2a5cc68b676b56694c27034690a7b9ef049feb Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 27 Feb 2021 22:33:21 +0100 Subject: patch 8.2.2554: Vim9: exporting a final is not tested Problem: Vim9: exporting a final is not tested. Solution: Add a test. --- src/testdir/test_vim9_script.vim | 17 +++++++++++++++++ src/version.c | 2 ++ 2 files changed, 19 insertions(+) diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index a262bcb62..707d89e5a 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -918,6 +918,7 @@ let s:export_script_lines =<< trim END export def Exported(): string return 'Exported' enddef + export final theList = [1] END def Undo_export_script_lines() @@ -945,6 +946,10 @@ def Test_vim9_import_export() exp_name ..= ' Doe' g:imported_name_appended = exp_name g:imported_later = exported + + import theList from './Xexport.vim' + theList->add(2) + assert_equal([1, 2], theList) END writefile(import_script_lines, 'Ximport.vim') @@ -1144,6 +1149,18 @@ def Test_vim9_import_export() writefile(import_assign_to_const, 'Ximport.vim') assert_fails('source Ximport.vim', 'E46:', '', 1, '_Assign') + # try changing an imported final + var import_assign_to_final =<< trim END + vim9script + import theList from './Xexport.vim' + def Assign() + theList = [2] + enddef + defcompile + END + writefile(import_assign_to_final, 'Ximport.vim') + assert_fails('source Ximport.vim', 'E46:', '', 1, '_Assign') + # import a very long name, requires making a copy var import_long_name_lines =<< trim END vim9script diff --git a/src/version.c b/src/version.c index eece321b3..6f05f36a9 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2554, /**/ 2553, /**/ -- cgit v1.2.1