patch 8.2.2554: Vim9: exporting a final is not tested
Problem: Vim9: exporting a final is not tested.
Solution: Add a test.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index a262bcb..707d89e 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -918,6 +918,7 @@
export def Exported(): string
return 'Exported'
enddef
+ export final theList = [1]
END
def Undo_export_script_lines()
@@ -945,6 +946,10 @@
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 @@
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 eece321..6f05f36 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2554,
+/**/
2553,
/**/
2552,