Mercurial > vim
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()