mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
test/t/syntax.rb: add test for &nil in formal parameters
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1271,3 +1271,26 @@ assert('pattern matching - complex patterns') do
|
||||
assert_equal [2, 3], rest
|
||||
end
|
||||
end
|
||||
|
||||
assert('&nil in formal parameters') do
|
||||
def m(&nil); end
|
||||
m
|
||||
m(&nil)
|
||||
assert_raise(ArgumentError) { m {} }
|
||||
|
||||
def m2(a, b, &nil); end
|
||||
m2(1, 2)
|
||||
assert_raise(ArgumentError) { m2(1, 2) {} }
|
||||
|
||||
def m3(a, b=1, *c, &nil); end
|
||||
m3(1)
|
||||
assert_raise(ArgumentError) { m3(1) {} }
|
||||
|
||||
def m4(a:, &nil); end
|
||||
m4(a: 1)
|
||||
assert_raise(ArgumentError) { m4(a: 1) {} }
|
||||
|
||||
f = ->(&nil) { :ok }
|
||||
assert_equal :ok, f.call
|
||||
assert_raise(ArgumentError) { f.call {} }
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user