Mercurial > vim
comparison src/testdir/test_vim9_builtin.vim @ 29712:bdb31515f78b v9.0.0196
patch 9.0.0196: finding value in list may require a for loop
Commit: https://github.com/vim/vim/commit/b218655d5a485f5b193fb18d7240837d42b89812
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sat Aug 13 13:09:20 2022 +0100
patch 9.0.0196: finding value in list may require a for loop
Problem: Finding value in list may require a for loop.
Solution: Add indexof(). (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/10903)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 13 Aug 2022 14:15:05 +0200 |
parents | 9908c07ccb56 |
children | 66f9877b8aab |
comparison
equal
deleted
inserted
replaced
29711:4069513e8995 | 29712:bdb31515f78b |
---|---|
2064 v9.CheckDefAndScriptFailure(['index(0z10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2064 v9.CheckDefAndScriptFailure(['index(0z10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2065 v9.CheckDefAndScriptFailure(['index([1], 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2065 v9.CheckDefAndScriptFailure(['index([1], 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2066 v9.CheckDefAndScriptFailure(['index(0z1020, 10, 1, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) | 2066 v9.CheckDefAndScriptFailure(['index(0z1020, 10, 1, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) |
2067 enddef | 2067 enddef |
2068 | 2068 |
2069 def Test_indexof() | |
2070 var l = [{color: 'red'}, {color: 'blue'}, {color: 'green'}] | |
2071 indexof(l, (i, v) => v.color == 'green')->assert_equal(2) | |
2072 var b = 0zdeadbeef | |
2073 indexof(b, "v:val == 0xef")->assert_equal(3) | |
2074 enddef | |
2075 | |
2069 def Test_input() | 2076 def Test_input() |
2070 v9.CheckDefAndScriptFailure(['input(5)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2077 v9.CheckDefAndScriptFailure(['input(5)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2071 v9.CheckDefAndScriptFailure(['input(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 2078 v9.CheckDefAndScriptFailure(['input(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
2072 v9.CheckDefAndScriptFailure(['input("p", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2079 v9.CheckDefAndScriptFailure(['input("p", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2073 v9.CheckDefAndScriptFailure(['input("p", "q", 20)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 2080 v9.CheckDefAndScriptFailure(['input("p", "q", 20)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |