comparison src/testdir/test_vim9_builtin.vim @ 26686:c04b28fad0cc v8.2.3872

patch 8.2.3872: Vim9: finddir() and uniq() return types can be more specific Commit: https://github.com/vim/vim/commit/080182216e605df3428cc699b9fd7e761368d12f Author: Bram Moolenaar <Bram@vim.org> Date: Wed Dec 22 18:45:37 2021 +0000 patch 8.2.3872: Vim9: finddir() and uniq() return types can be more specific Problem: Vim9: finddir() and uniq() return types can be more specific. Solution: Adjust the return type.
author Bram Moolenaar <Bram@vim.org>
date Wed, 22 Dec 2021 20:00:04 +0100
parents ab46f0976435
children 7f4cc4e58f75
comparison
equal deleted inserted replaced
26685:c5be20c42849 26686:c04b28fad0cc
1108 CheckDefAndScriptFailure(['finddir(v:null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1']) 1108 CheckDefAndScriptFailure(['finddir(v:null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1'])
1109 CheckDefExecFailure(['echo finddir("")'], 'E1175:') 1109 CheckDefExecFailure(['echo finddir("")'], 'E1175:')
1110 CheckDefAndScriptFailure(['finddir("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) 1110 CheckDefAndScriptFailure(['finddir("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2'])
1111 CheckDefAndScriptFailure(['finddir("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) 1111 CheckDefAndScriptFailure(['finddir("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3'])
1112 finddir('abc', '')->assert_equal('') 1112 finddir('abc', '')->assert_equal('')
1113
1114 CheckDefFailure(['var s: list<string> = finddir("foo")'], 'E1012: Type mismatch; expected list<string> but got string')
1115 CheckDefFailure(['var s: list<string> = finddir("foo", "path")'], 'E1012: Type mismatch; expected list<string> but got string')
1116 # with third argument only runtime type checking
1117 CheckDefCompileSuccess(['var s: list<string> = finddir("foo", "path", 1)'])
1113 enddef 1118 enddef
1114 1119
1115 def Test_findfile() 1120 def Test_findfile()
1116 findfile('runtest.vim', '**', -1)->assert_equal(['runtest.vim']) 1121 findfile('runtest.vim', '**', -1)->assert_equal(['runtest.vim'])
1117 var lines =<< trim END 1122 var lines =<< trim END
4034 enddef 4039 enddef
4035 4040
4036 def Test_uniq() 4041 def Test_uniq()
4037 CheckDefAndScriptFailure(['uniq("a")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) 4042 CheckDefAndScriptFailure(['uniq("a")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1'])
4038 CheckDefAndScriptFailure(['uniq([1], "", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) 4043 CheckDefAndScriptFailure(['uniq([1], "", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3'])
4044
4045 CheckDefFailure(['var l: list<number> = uniq(["a", "b"])'], 'E1012: Type mismatch; expected list<number> but got list<string>')
4039 enddef 4046 enddef
4040 4047
4041 def Test_values() 4048 def Test_values()
4042 CheckDefAndScriptFailure(['values([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) 4049 CheckDefAndScriptFailure(['values([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1'])
4043 assert_equal([], {}->values()) 4050 assert_equal([], {}->values())