changeset 24025:edcb6cf55a26 v8.2.2554

patch 8.2.2554: Vim9: exporting a final is not tested Commit: https://github.com/vim/vim/commit/0f2a5cc68b676b56694c27034690a7b9ef049feb Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 27 22:33:21 2021 +0100 patch 8.2.2554: Vim9: exporting a final is not tested Problem: Vim9: exporting a final is not tested. Solution: Add a test.
author Bram Moolenaar <Bram@vim.org>
date Sat, 27 Feb 2021 22:45:03 +0100
parents ef454a7f485d
children d9ebb0234079
files src/testdir/test_vim9_script.vim src/version.c
diffstat 2 files changed, 19 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2554,
+/**/
     2553,
 /**/
     2552,