Mercurial > vim
view src/testdir/test_filter_map.vim @ 14966:d65790af8514 v8.1.0494
patch 8.1.0494: functions do not check for a window ID in other tabs
commit https://github.com/vim/vim/commit/babfcf54ae9bf9570eddf4958a553635cd589e21
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Oct 25 13:11:16 2018 +0200
patch 8.1.0494: functions do not check for a window ID in other tabs
Problem: Functions do not check for a window ID in other tabs.
Solution: Also find the window ID in other than the current tab.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 25 Oct 2018 13:15:05 +0200 |
parents | 4fe3772969cf |
children | 051937ebaf22 |
line wrap: on
line source
" Test filter() and map() " list with expression string func Test_filter_map_list_expr_string() " filter() call assert_equal([2, 3, 4], filter([1, 2, 3, 4], 'v:val > 1')) call assert_equal([3, 4], filter([1, 2, 3, 4], 'v:key > 1')) call assert_equal([], filter([1, 2, 3, 4], 0)) " map() call assert_equal([2, 4, 6, 8], map([1, 2, 3, 4], 'v:val * 2')) call assert_equal([0, 2, 4, 6], map([1, 2, 3, 4], 'v:key * 2')) call assert_equal([9, 9, 9, 9], map([1, 2, 3, 4], 9)) endfunc " dict with expression string func Test_filter_map_dict_expr_string() let dict = {"foo": 1, "bar": 2, "baz": 3} " filter() call assert_equal({"bar": 2, "baz": 3}, filter(copy(dict), 'v:val > 1')) call assert_equal({"foo": 1, "baz": 3}, filter(copy(dict), 'v:key > "bar"')) call assert_equal({}, filter(copy(dict), 0)) " map() call assert_equal({"foo": 2, "bar": 4, "baz": 6}, map(copy(dict), 'v:val * 2')) call assert_equal({"foo": "f", "bar": "b", "baz": "b"}, map(copy(dict), 'v:key[0]')) call assert_equal({"foo": 9, "bar": 9, "baz": 9}, map(copy(dict), 9)) endfunc " list with funcref func Test_filter_map_list_expr_funcref() " filter() func! s:filter1(index, val) abort return a:val > 1 endfunc call assert_equal([2, 3, 4], filter([1, 2, 3, 4], function('s:filter1'))) func! s:filter2(index, val) abort return a:index > 1 endfunc call assert_equal([3, 4], filter([1, 2, 3, 4], function('s:filter2'))) " map() func! s:filter3(index, val) abort return a:val * 2 endfunc call assert_equal([2, 4, 6, 8], map([1, 2, 3, 4], function('s:filter3'))) func! s:filter4(index, val) abort return a:index * 2 endfunc call assert_equal([0, 2, 4, 6], map([1, 2, 3, 4], function('s:filter4'))) endfunc " dict with funcref func Test_filter_map_dict_expr_funcref() let dict = {"foo": 1, "bar": 2, "baz": 3} " filter() func! s:filter1(key, val) abort return a:val > 1 endfunc call assert_equal({"bar": 2, "baz": 3}, filter(copy(dict), function('s:filter1'))) func! s:filter2(key, val) abort return a:key > "bar" endfunc call assert_equal({"foo": 1, "baz": 3}, filter(copy(dict), function('s:filter2'))) " map() func! s:filter3(key, val) abort return a:val * 2 endfunc call assert_equal({"foo": 2, "bar": 4, "baz": 6}, map(copy(dict), function('s:filter3'))) func! s:filter4(key, val) abort return a:key[0] endfunc call assert_equal({"foo": "f", "bar": "b", "baz": "b"}, map(copy(dict), function('s:filter4'))) endfunc