diff src/testdir/test_vim9_script.vim @ 30737:ec54b510e5ee v9.0.0703

patch 9.0.0703: failing check for argument type for const any Commit: https://github.com/vim/vim/commit/330d64d32cbb8ba7cdfe8dc0bedd4caff3bb01e8 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Oct 9 12:55:33 2022 +0100 patch 9.0.0703: failing check for argument type for const any Problem: Failing check for argument type for const any. Solution: Check for any type properly. (closes https://github.com/vim/vim/issues/11316)
author Bram Moolenaar <Bram@vim.org>
date Sun, 09 Oct 2022 14:00:03 +0200
parents 030bdef24446
children 9d2c4d49b006
line wrap: on
line diff
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -305,6 +305,25 @@ def Test_const()
       assert_equal(v:t_number, type(foo.bar))
   END
   v9.CheckDefAndScriptSuccess(lines)
+
+  # also when used as a builtin function argument
+  lines =<< trim END
+      vim9script
+
+      def SorterFunc(lhs: dict<string>, rhs: dict<string>): number
+        return lhs.name <# rhs.name ? -1 : 1
+      enddef
+
+      def Run(): void
+        var list =  [{name: "3"}, {name: "2"}]
+        const Sorter = get({}, "unknown", SorterFunc)
+        sort(list, Sorter)
+        assert_equal([{name: "2"}, {name: "3"}], list)
+      enddef
+
+      Run()
+  END
+  v9.CheckScriptSuccess(lines)
 enddef
 
 def Test_const_bang()