summaryrefslogtreecommitdiffhomepage
path: root/test/t/proc.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/t/proc.rb')
-rw-r--r--test/t/proc.rb44
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