diff options
Diffstat (limited to 'spec/ruby/optional/capi/kernel_spec.rb')
-rw-r--r-- | spec/ruby/optional/capi/kernel_spec.rb | 9 |
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 |