comparison src/testdir/test_vim9_builtin.vim @ 33924:ccdb948c7273 v9.0.2160

patch 9.0.2160: instanceof() should use varargs as second arg Commit: https://github.com/vim/vim/commit/2025af165ec68d831f0f0f668a3ceac3f39142ef Author: Ernie Rael <errael@raelity.com> Date: Tue Dec 12 16:58:00 2023 +0100 patch 9.0.2160: instanceof() should use varargs as second arg Problem: instanceof() should use varargs as second arg Solution: Modify `instanceof()` to use varargs instead of list Modify `instanceof()` to use varargs instead of list Valid `instanceof()` arguments are `type`s. A `type` is not a value; it cannot be added to a list. This change is non-compatible with the current usage of instanceof; but instanceof is relatively new and it's a trivial change. fixes: #13421 closes: #13644 Signed-off-by: Ernie Rael <errael@raelity.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 12 Dec 2023 17:15:03 +0100
parents cd7acb9bc4fd
children 3bba09502b8d
comparison
equal deleted inserted replaced
33923:b1e48fed6e55 33924:ccdb948c7273
2314 vim9script 2314 vim9script
2315 class Foo 2315 class Foo
2316 endclass 2316 endclass
2317 instanceof(Foo.new(), 123) 2317 instanceof(Foo.new(), 123)
2318 END 2318 END
2319 v9.CheckScriptFailure(lines, 'E693: List or Class required for argument 2') 2319 v9.CheckScriptFailure(lines, 'E693: Class or class typealias required for argument 2')
2320 2320
2321 lines =<< trim END 2321 lines =<< trim END
2322 vim9script 2322 vim9script
2323 class Foo 2323 class Foo
2324 endclass 2324 endclass
2336 def Bar() 2336 def Bar()
2337 instanceof(Foo.new(), 123) 2337 instanceof(Foo.new(), 123)
2338 enddef 2338 enddef
2339 Bar() 2339 Bar()
2340 END 2340 END
2341 v9.CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected class<Unknown> but got number') 2341 v9.CheckScriptFailure(lines, 'E693: Class or class typealias required for argument 2')
2342 2342
2343 lines =<< trim END 2343 lines =<< trim END
2344 vim9script 2344 vim9script
2345 class Foo 2345 class Foo
2346 endclass 2346 endclass
2347 instanceof(Foo.new(), [{}]) 2347 instanceof(Foo.new(), [{}])
2348 END 2348 END
2349 v9.CheckSourceFailure(lines, 'E614: Class required') 2349 v9.CheckSourceFailure(lines, 'E693: Class or class typealias required for argument 2')
2350 2350
2351 lines =<< trim END 2351 lines =<< trim END
2352 vim9script 2352 vim9script
2353 class Foo 2353 class Foo
2354 endclass 2354 endclass
2355 def Bar() 2355 def Bar()
2356 instanceof(Foo.new(), [{}]) 2356 instanceof(Foo.new(), [{}])
2357 enddef 2357 enddef
2358 Bar() 2358 Bar()
2359 END 2359 END
2360 v9.CheckSourceFailure(lines, 'E614: Class required') 2360 v9.CheckSourceFailure(lines, 'E693: Class or class typealias required for argument 2')
2361 enddef 2361 enddef
2362 2362
2363 def Test_invert() 2363 def Test_invert()
2364 v9.CheckDefAndScriptFailure(['invert("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 2364 v9.CheckDefAndScriptFailure(['invert("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
2365 enddef 2365 enddef