]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.4085: Vim9: no test for using import in legacy script v8.2.4085
authorBram Moolenaar <Bram@vim.org>
Thu, 13 Jan 2022 20:51:56 +0000 (20:51 +0000)
committerBram Moolenaar <Bram@vim.org>
Thu, 13 Jan 2022 20:51:56 +0000 (20:51 +0000)
Problem:    Vim9: no test for using import in legacy script.
Solution:   Add a test.

src/testdir/test_vim9_import.vim
src/version.c

index 24aa28da2ac8a3f7a814d3bb43b01528e1a51422..553ef8fdccc42698a500b2d731139a51a3930f13 100644 (file)
@@ -1006,16 +1006,44 @@ def Test_source_vim9_from_legacy()
     call assert_false(exists('s:exported'))
     call assert_equal('global', global)
     call assert_equal('global', g:global)
+  END
+  writefile(legacy_lines, 'Xlegacy_script.vim')
+
+  source Xlegacy_script.vim
+  assert_equal('global', g:global)
+  unlet g:global
+
+  delete('Xlegacy_script.vim')
+  delete('Xvim9_script.vim')
+enddef
+
+def Test_import_vim9_from_legacy()
+  var vim9_lines =<< trim END
+    vim9script
+    var local = 'local'
+    g:global = 'global'
+    export var exported = 'exported'
+    export def GetText(): string
+       return 'text'
+    enddef
+  END
+  writefile(vim9_lines, 'Xvim9_export.vim')
+
+  var legacy_lines =<< trim END
+    import './Xvim9_export.vim' as vim9
 
-    "" imported variable becomes script-local
-    "import exported from './Xvim9_script.vim'
-    "call assert_equal('exported', s:exported)
-    "call assert_false(exists('exported'))
+    call assert_false(exists('vim9'))
+    call assert_false(exists('local'))
+    call assert_false(exists('s:vim9.local'))
+    call assert_equal('global', global)
+    call assert_equal('global', g:global)
+    call assert_false(exists('exported'))
+    call assert_false(exists('s:exported'))
+    call assert_false(exists('*GetText'))
 
-    "" imported function becomes script-local
-    "import GetText from './Xvim9_script.vim'
-    "call assert_equal('text', s:GetText())
-    "call assert_false(exists('*GetText'))
+    " imported symbol is script-local
+    call assert_equal('exported', s:vim9.exported)
+    call assert_equal('text', s:vim9.GetText())
   END
   writefile(legacy_lines, 'Xlegacy_script.vim')
 
@@ -1024,7 +1052,7 @@ def Test_source_vim9_from_legacy()
   unlet g:global
 
   delete('Xlegacy_script.vim')
-  delete('Xvim9_script.vim')
+  delete('Xvim9_export.vim')
 enddef
 
 def Test_cmdline_win()
index 957ccee0c9f60ccde1def623a40ae3d7b3b0d233..5572303136aed0ea7389535064774428843a8243 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    4085,
 /**/
     4084,
 /**/