comparison src/testdir/test_vim9_builtin.vim @ 28806:3754393e05bc v8.2.4927

patch 8.2.4927: return type of remove() incorrect when using three arguments Commit: https://github.com/vim/vim/commit/2ac037f54bb2588b7a86e61c9c6e9504884edbec Author: Bram Moolenaar <Bram@vim.org> Date: Mon May 9 14:12:14 2022 +0100 patch 8.2.4927: return type of remove() incorrect when using three arguments Problem: Return type of remove() incorrect when using three arguments. Solution: Use first argument type when there are three arguments. (closes #10387)
author Bram Moolenaar <Bram@vim.org>
date Mon, 09 May 2022 15:15:03 +0200
parents c428a4e53b9c
children 1ad71fcbf546
comparison
equal deleted inserted replaced
28805:2a1287ec767f 28806:3754393e05bc
3206 var x: string = range(2)->extend(['x'])->remove(2) 3206 var x: string = range(2)->extend(['x'])->remove(2)
3207 assert_equal('x', x) 3207 assert_equal('x', x)
3208 enddef 3208 enddef
3209 3209
3210 def Test_remove_return_type() 3210 def Test_remove_return_type()
3211 var l = remove({one: [1, 2], two: [3, 4]}, 'one') 3211 var l: list<number> = remove({one: [1, 2], two: [3, 4]}, 'one')
3212 var res = 0 3212 l->assert_equal([1, 2])
3213 for n in l 3213
3214 res += n 3214 var ll: list<number> = remove(range(3), 0, 1)
3215 endfor 3215 ll->assert_equal([0, 1])
3216 res->assert_equal(3)
3217 enddef 3216 enddef
3218 3217
3219 def Test_rename() 3218 def Test_rename()
3220 v9.CheckDefAndScriptFailure(['rename(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) 3219 v9.CheckDefAndScriptFailure(['rename(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'])
3221 v9.CheckDefAndScriptFailure(['rename("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) 3220 v9.CheckDefAndScriptFailure(['rename("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2'])