summaryrefslogtreecommitdiff
path: root/spec/ruby/optional/capi/kernel_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/optional/capi/kernel_spec.rb')
-rw-r--r--spec/ruby/optional/capi/kernel_spec.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/kernel_spec.rb b/spec/ruby/optional/capi/kernel_spec.rb
index f68a46ed50..ab6c2bceef 100644
--- a/spec/ruby/optional/capi/kernel_spec.rb
+++ b/spec/ruby/optional/capi/kernel_spec.rb
@@ -281,6 +281,15 @@ describe "C-API Kernel function" do
end.should raise_error(NameError)
proof[0].should == 23
end
+
+ it "will return nil if an error was raised" do
+ proof = [] # Hold proof of work performed after the yield.
+ lambda do
+ @s.rb_protect_yield(7, proof) { |x| raise NameError}
+ end.should raise_error(NameError)
+ proof[0].should == 23
+ proof[1].should == nil
+ end
end
describe "rb_rescue" do