summaryrefslogtreecommitdiffhomepage
path: root/test/t/proc.rb
diff options
context:
space:
mode:
authorFrancois Chagnon <[email protected]>2016-11-14 16:49:45 -0500
committerBouke van der Bijl <[email protected]>2016-11-24 10:23:31 -0500
commit1ec5994377b45b0299a9c4e6e7ab275792d81bc9 (patch)
tree855977357c0ac152e2246b94ff27c31fbafe1df1 /test/t/proc.rb
parenta630c4f413f6af764e68210430e8b61a435d38d7 (diff)
downloadmruby-1ec5994377b45b0299a9c4e6e7ab275792d81bc9.tar.gz
mruby-1ec5994377b45b0299a9c4e6e7ab275792d81bc9.zip
Fix calling .arity on Proc with undefined `initialize`
Reported by @bouk
Diffstat (limited to 'test/t/proc.rb')
-rw-r--r--test/t/proc.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/t/proc.rb b/test/t/proc.rb
index 888b7d56a..bc9821f7c 100644
--- a/test/t/proc.rb
+++ b/test/t/proc.rb
@@ -46,6 +46,17 @@ assert('Proc#arity', '15.2.17.4.2') do
assert_equal(-1, g)
end
+assert('Proc#arity with unitialized Proc') do
+ begin
+ Proc.alias_method(:original_initialize, :initialize)
+ Proc.remove_method(:initialize)
+ assert_equal 0, Proc.new{|a, b, c| 1}.arity
+ ensure
+ Proc.alias_method(:initialize, :original_initialize)
+ Proc.remove_method(:original_initialize)
+ end
+end
+
assert('Proc#call', '15.2.17.4.3') do
a = 0
b = Proc.new { a += 1 }