Mercurial > vim
comparison src/testdir/test_vim9_script.vim @ 20816:9faab49c880f v8.2.0960
patch 8.2.0960: cannot use :import in legacy Vim script
Commit: https://github.com/vim/vim/commit/9721fb4ea3db2559aaf7f71458da8ddda30ff93e
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jun 11 23:10:46 2020 +0200
patch 8.2.0960: cannot use :import in legacy Vim script
Problem: Cannot use :import in legacy Vim script.
Solution: Support :import in any Vim script.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 11 Jun 2020 23:15:03 +0200 |
parents | 9f921ba86d05 |
children | 0600ab7b9f09 |
comparison
equal
deleted
inserted
replaced
20815:1b780bd39c59 | 20816:9faab49c880f |
---|---|
734 | 734 |
735 def Test_vim9script_fails() | 735 def Test_vim9script_fails() |
736 CheckScriptFailure(['scriptversion 2', 'vim9script'], 'E1039:') | 736 CheckScriptFailure(['scriptversion 2', 'vim9script'], 'E1039:') |
737 CheckScriptFailure(['vim9script', 'scriptversion 2'], 'E1040:') | 737 CheckScriptFailure(['vim9script', 'scriptversion 2'], 'E1040:') |
738 CheckScriptFailure(['export let some = 123'], 'E1042:') | 738 CheckScriptFailure(['export let some = 123'], 'E1042:') |
739 CheckScriptFailure(['import some from "./Xexport.vim"'], 'E1042:') | 739 CheckScriptFailure(['import some from "./Xexport.vim"'], 'E1048:') |
740 CheckScriptFailure(['vim9script', 'export let g:some'], 'E1044:') | 740 CheckScriptFailure(['vim9script', 'export let g:some'], 'E1044:') |
741 CheckScriptFailure(['vim9script', 'export echo 134'], 'E1043:') | 741 CheckScriptFailure(['vim9script', 'export echo 134'], 'E1043:') |
742 | 742 |
743 assert_fails('vim9script', 'E1038') | 743 assert_fails('vim9script', 'E1038') |
744 assert_fails('export something', 'E1043') | 744 assert_fails('export something', 'E1043') |
1834 unlet g:initVal | 1834 unlet g:initVal |
1835 unlet g:laterVal | 1835 unlet g:laterVal |
1836 delete('Xforward') | 1836 delete('Xforward') |
1837 enddef | 1837 enddef |
1838 | 1838 |
1839 def Test_source_vim9_from_legacy() | |
1840 let legacy_lines =<< trim END | |
1841 source Xvim9_script.vim | |
1842 | |
1843 call assert_false(exists('local')) | |
1844 call assert_false(exists('exported')) | |
1845 call assert_false(exists('s:exported')) | |
1846 call assert_equal('global', global) | |
1847 call assert_equal('global', g:global) | |
1848 | |
1849 " imported variable becomes script-local | |
1850 import exported from './Xvim9_script.vim' | |
1851 call assert_equal('exported', s:exported) | |
1852 call assert_false(exists('exported')) | |
1853 | |
1854 " imported function becomes script-local | |
1855 import GetText from './Xvim9_script.vim' | |
1856 call assert_equal('text', s:GetText()) | |
1857 call assert_false(exists('*GetText')) | |
1858 END | |
1859 writefile(legacy_lines, 'Xlegacy_script.vim') | |
1860 | |
1861 let vim9_lines =<< trim END | |
1862 vim9script | |
1863 let local = 'local' | |
1864 g:global = 'global' | |
1865 export let exported = 'exported' | |
1866 export def GetText(): string | |
1867 return 'text' | |
1868 enddef | |
1869 END | |
1870 writefile(vim9_lines, 'Xvim9_script.vim') | |
1871 | |
1872 source Xlegacy_script.vim | |
1873 | |
1874 assert_equal('global', g:global) | |
1875 " unlet g:global | |
1876 | |
1877 delete('Xlegacy_script.vim') | |
1878 delete('Xvim9_script.vim') | |
1879 enddef | |
1839 | 1880 |
1840 " Keep this last, it messes up highlighting. | 1881 " Keep this last, it messes up highlighting. |
1841 def Test_substitute_cmd() | 1882 def Test_substitute_cmd() |
1842 new | 1883 new |
1843 setline(1, 'something') | 1884 setline(1, 'something') |