diff options
Diffstat (limited to 'test/t/proc.rb')
| -rw-r--r-- | test/t/proc.rb | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/t/proc.rb b/test/t/proc.rb new file mode 100644 index 000000000..6d98cb40c --- /dev/null +++ b/test/t/proc.rb @@ -0,0 +1,44 @@ +## +# Proc ISO Test + +assert('Proc', '15.2.17') do + Proc.class == Class +end + +assert('Proc.new', '15.2.17.3.1') do + a = nil + + begin + Proc.new + rescue => e + a = e + end + + b = Proc.new {} + + a.class == ArgumentError and b.class == Proc +end + +assert('Proc#[]', '15.2.17.4.1') do + a = 0 + b = Proc.new { a += 1 } + b.[] + + a2 = 0 + b2 = Proc.new { |i| a2 += i } + b2.[](5) + + a == 1 and a2 == 5 +end + +assert('Proc#call', '15.2.17.4.3') do + a = 0 + b = Proc.new { a += 1 } + b.call + + a2 = 0 + b2 = Proc.new { |i| a2 += i } + b2.call(5) + + a == 1 and a2 == 5 +end |
