comparison src/testdir/test_vim9_import.vim @ 27330:aeadf4315bef v8.2.4193

patch 8.2.4193: cannot use an import in 'charconvert' Commit: https://github.com/vim/vim/commit/f4e88f2152c5975a6f4cfa7ccd745575fe4d1c78 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 23 14:17:28 2022 +0000 patch 8.2.4193: cannot use an import in 'charconvert' Problem: Cannot use an import in 'charconvert'. Solution: Set the script context when evaluating 'charconvert'. Also expand script-local functions in 'charconvert'.
author Bram Moolenaar <Bram@vim.org>
date Sun, 23 Jan 2022 15:30:03 +0100
parents 7382135dac01
children c62006deb5c1
comparison
equal deleted inserted replaced
27329:10ee4c6ab635 27330:aeadf4315bef
903 903
904 delete('Xprint.vim') 904 delete('Xprint.vim')
905 set printexpr= 905 set printexpr=
906 enddef 906 enddef
907 907
908 def Test_import_in_charconvert()
909 var lines =<< trim END
910 vim9script
911 export def MakeUpper(): bool
912 var data = readfile(v:fname_in)
913 map(data, 'toupper(v:val)')
914 writefile(data, v:fname_out)
915 return false # success
916 enddef
917 END
918 writefile(lines, 'Xconvert.vim')
919
920 lines =<< trim END
921 vim9script
922 import './Xconvert.vim' as conv
923 set charconvert=conv.MakeUpper()
924 END
925 CheckScriptSuccess(lines)
926
927 writefile(['one', 'two'], 'Xfile')
928 new Xfile
929 write ++enc=ucase Xfile1
930 assert_equal(['ONE', 'TWO'], readfile('Xfile1'))
931
932 delete('Xfile')
933 delete('Xfile1')
934 delete('Xconvert.vim')
935 bwipe!
936 set charconvert&
937 enddef
938
908 def Test_export_fails() 939 def Test_export_fails()
909 CheckScriptFailure(['export var some = 123'], 'E1042:') 940 CheckScriptFailure(['export var some = 123'], 'E1042:')
910 CheckScriptFailure(['vim9script', 'export var g:some'], 'E1022:') 941 CheckScriptFailure(['vim9script', 'export var g:some'], 'E1022:')
911 CheckScriptFailure(['vim9script', 'export echo 134'], 'E1043:') 942 CheckScriptFailure(['vim9script', 'export echo 134'], 'E1043:')
912 943