mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Assert no-kwrest case
This commit is contained in:
parent
ed65e2d5ae
commit
4b3e007e07
1 changed files with 16 additions and 1 deletions
|
@ -1511,7 +1511,22 @@ eom
|
|||
obj2 = klass.new
|
||||
obj2.instance_eval('def foo(...) super(...) end', __FILE__, __LINE__)
|
||||
|
||||
[obj1, obj2].each do |obj|
|
||||
obj3 = Object.new
|
||||
def obj3.bar(*args, &block)
|
||||
if kws = Hash.try_convert(args.last)
|
||||
args.pop
|
||||
else
|
||||
kws = {}
|
||||
end
|
||||
if block
|
||||
block.call(args, kws)
|
||||
else
|
||||
[args, kws]
|
||||
end
|
||||
end
|
||||
obj3.instance_eval('def foo(...) bar(...) end', __FILE__, __LINE__)
|
||||
|
||||
[obj1, obj2, obj3].each do |obj|
|
||||
assert_equal([[1, 2, 3], {k1: 4, k2: 5}], obj.foo(1, 2, 3, k1: 4, k2: 5) {|*x| x})
|
||||
assert_equal([[1, 2, 3], {k1: 4, k2: 5}], obj.foo(1, 2, 3, k1: 4, k2: 5))
|
||||
assert_equal(-1, obj.:foo.arity)
|
||||
|
|
Loading…
Add table
Reference in a new issue