aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/optional/capi/proc_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/optional/capi/proc_spec.rb')
-rw-r--r--spec/ruby/optional/capi/proc_spec.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/proc_spec.rb b/spec/ruby/optional/capi/proc_spec.rb
index 9f9a37cc98..ff119416f6 100644
--- a/spec/ruby/optional/capi/proc_spec.rb
+++ b/spec/ruby/optional/capi/proc_spec.rb
@@ -54,6 +54,25 @@ describe "C-API Proc function" do
@p.rb_proc_call(prc, [6, 7]).should == 42
end
end
+
+ describe "rb_obj_is_proc" do
+ it "returns true for Proc" do
+ prc = Proc.new {|a,b| a * b }
+ @p.rb_obj_is_proc(prc).should be_true
+ end
+
+ it "returns true for subclass of Proc" do
+ prc = Class.new(Proc).new {}
+ @p.rb_obj_is_proc(prc).should be_true
+ end
+
+ it "returns false for non Proc instances" do
+ @p.rb_obj_is_proc("aoeui").should be_false
+ @p.rb_obj_is_proc(123).should be_false
+ @p.rb_obj_is_proc(true).should be_false
+ @p.rb_obj_is_proc([]).should be_false
+ end
+ end
end
describe "C-API when calling Proc.new from a C function" do