changeset 36404:b9ffc41b32b4 draft v9.1.0819

patch 9.1.0819: tests: using findexpr and imported func not tested Commit: https://github.com/vim/vim/commit/bdac2ef6fe3bf286dbe61f9511ba3e2347a9da2a Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Mon Oct 28 21:01:28 2024 +0100 patch 9.1.0819: tests: using findexpr and imported func not tested Problem: tests: need a test for findexpr and vim9 imported func Solution: Add a test for 'findexpr' and Vim9 imported script (Yegappan Lakshmanan) closes: #15954 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Mon, 28 Oct 2024 21:15:03 +0100
parents cb45908672c2
children 714811b569ca
files src/testdir/test_vim9_import.vim src/version.c
diffstat 2 files changed, 39 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1560,6 +1560,43 @@ def Run_Test_import_in_printexpr()
   set printexpr=
 enddef
 
+" Test for using an imported function as 'findexpr'
+func Test_import_in_findexpr()
+  call Run_Test_import_in_findexpr()
+endfunc
+
+def Run_Test_import_in_findexpr()
+  var lines =<< trim END
+      vim9script
+
+      export def FindExpr(): list<string>
+        var fnames = ['Xfile1.c', 'Xfile2.c', 'Xfile3.c']
+        return fnames->copy()->filter('v:val =~? v:fname')
+      enddef
+  END
+  writefile(lines, 'Xfindexpr', 'D')
+
+  lines =<< trim END
+      vim9script
+      import './Xfindexpr' as find
+
+      set findexpr=find.FindExpr()
+  END
+  v9.CheckScriptSuccess(lines)
+
+  enew!
+  find Xfile2
+  assert_equal('Xfile2.c', @%)
+  bwipe!
+
+  botright vert new
+  find Xfile1
+  assert_equal('Xfile1.c', @%)
+
+  set findexpr=
+  bwipe!
+enddef
+
 def Test_import_in_charconvert()
   var lines =<< trim END
       vim9script
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    819,
+/**/
     818,
 /**/
     817,