diff options
| author | Francois Chagnon <[email protected]> | 2016-11-14 16:49:45 -0500 |
|---|---|---|
| committer | Bouke van der Bijl <[email protected]> | 2016-11-24 10:23:31 -0500 |
| commit | 1ec5994377b45b0299a9c4e6e7ab275792d81bc9 (patch) | |
| tree | 855977357c0ac152e2246b94ff27c31fbafe1df1 /test | |
| parent | a630c4f413f6af764e68210430e8b61a435d38d7 (diff) | |
| download | mruby-1ec5994377b45b0299a9c4e6e7ab275792d81bc9.tar.gz mruby-1ec5994377b45b0299a9c4e6e7ab275792d81bc9.zip | |
Fix calling .arity on Proc with undefined `initialize`
Reported by @bouk
Diffstat (limited to 'test')
| -rw-r--r-- | test/t/proc.rb | 11 |
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 } |
