summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-12-05 21:47:06 +0100
committerBram Moolenaar <Bram@vim.org>2020-12-05 21:47:06 +0100
commit08cf0c0d82c7edfcbfe60db34f92759b7fee939a (patch)
treedb1f5d136ccfbe061ce71fdb6251b5765218230c
parent56602ba153af7130b76daf83933922aaea3e2646 (diff)
downloadvim-git-08cf0c0d82c7edfcbfe60db34f92759b7fee939a.tar.gz
patch 8.2.2098: Vim9: function argument of sort() and map() not testedv8.2.2098
Problem: Vim9: function argument of sort() and map() not tested. Solution: Add a couple of tests.
-rw-r--r--src/testdir/test_vim9_builtin.vim26
-rw-r--r--src/version.c2
2 files changed, 26 insertions, 2 deletions
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 301b270e6..50b711f8d 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -229,6 +229,18 @@ def Wrong_dict_key_type(items: list<number>): list<number>
return filter(items, {_, val -> get({[val]: 1}, 'x')})
enddef
+def Test_map_function_arg()
+ var lines =<< trim END
+ def MapOne(i: number, v: string): string
+ return i .. ':' .. v
+ enddef
+ var l = ['a', 'b', 'c']
+ map(l, MapOne)
+ assert_equal(['0:a', '1:b', '2:c'], l)
+ END
+ CheckDefAndScriptSuccess(lines)
+enddef
+
def Test_filter_wrong_dict_key_type()
assert_fails('Wrong_dict_key_type([1, 2, 3])', 'E1012:')
enddef
@@ -523,8 +535,18 @@ def Test_sort_return_type()
enddef
def Test_sort_argument()
- var res = ['b', 'a', 'c']->sort('i')
- res->assert_equal(['a', 'b', 'c'])
+ var lines =<< trim END
+ var res = ['b', 'a', 'c']->sort('i')
+ res->assert_equal(['a', 'b', 'c'])
+
+ def Compare(a: number, b: number): number
+ return a - b
+ enddef
+ var l = [3, 6, 7, 1, 8, 2, 4, 5]
+ sort(l, Compare)
+ assert_equal([1, 2, 3, 4, 5, 6, 7, 8], l)
+ END
+ CheckDefAndScriptSuccess(lines)
enddef
def Test_split()
diff --git a/src/version.c b/src/version.c
index 95f3f62e7..a24a261fd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2098,
+/**/
2097,
/**/
2096,