Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
adapted throw specs to use UncaughtThrowError for non catched throw
Browse files Browse the repository at this point in the history
tak1n committed May 25, 2015
1 parent 235ee06 commit 95ab59b
Showing 3 changed files with 18 additions and 18 deletions.
8 changes: 4 additions & 4 deletions spec/ruby/core/kernel/catch_spec.rb
Original file line number Diff line number Diff line change
@@ -30,12 +30,12 @@
ScratchPad.recorded.should == :thrown_key
end

it "raises an ArgumentError if a Symbol is thrown for a String catch value" do
lambda { catch("exit") { throw :exit } }.should raise_error(ArgumentError)
it "raises an UncaughtThrowError if a Symbol is thrown for a String catch value" do
lambda { catch("exit") { throw :exit } }.should raise_error(UncaughtThrowError)
end

it "raises an ArgumentError if a String with different identity is thrown" do
lambda { catch("exit") { throw "exit" } }.should raise_error(ArgumentError)
it "raises an UncaughtThrowError if a String with different identity is thrown" do
lambda { catch("exit") { throw "exit" } }.should raise_error(UncaughtThrowError)
end

it "catches a Symbol when thrown a matching Symbol" do
12 changes: 6 additions & 6 deletions spec/ruby/language/throw_spec.rb
Original file line number Diff line number Diff line change
@@ -44,7 +44,7 @@
end

it "does not convert strings to a symbol" do
lambda { catch(:exit) { throw "exit" } }.should raise_error(ArgumentError)
lambda { catch(:exit) { throw "exit" } }.should raise_error(UncaughtThrowError)
end

it "unwinds stack from within a method" do
@@ -62,18 +62,18 @@ def throw_method(handler,val)
catch(:foo) { c.call }.should == :msg
end

it "raises an ArgumentError if outside of scope of a matching catch" do
lambda { throw :test,5 }.should raise_error(ArgumentError)
lambda { catch(:different) { throw :test,5 } }.should raise_error(ArgumentError)
it "raises an UncaughtThrowError if outside of scope of a matching catch" do
lambda { throw :test,5 }.should raise_error(UncaughtThrowError)
lambda { catch(:different) { throw :test,5 } }.should raise_error(UncaughtThrowError)
end

it "raises an ArgumentError if used to exit a thread" do
it "raises an UncaughtThrowError if used to exit a thread" do
lambda {
catch(:what) do
Thread.new do
throw :what
end.join
end
}.should raise_error(ArgumentError)
}.should raise_error(UncaughtThrowError)
end
end
16 changes: 8 additions & 8 deletions spec/ruby/optional/capi/kernel_spec.rb
Original file line number Diff line number Diff line change
@@ -87,8 +87,8 @@
ScratchPad.recorded.should == [:before_throw]
end

it "raises an ArgumentError if there is no catch block for the symbol" do
lambda { @s.rb_throw(nil) }.should raise_error(ArgumentError)
it "raises an UncaughtThrowError if there is no catch block for the symbol" do
lambda { @s.rb_throw(nil) }.should raise_error(UncaughtThrowError)
end
end

@@ -113,8 +113,8 @@
ScratchPad.recorded.should == [:before_throw]
end

it "raises an ArgumentError if there is no catch block for the symbol" do
lambda { @s.rb_throw(nil) }.should raise_error(ArgumentError)
it "raises an UncaughtThrowError if there is no catch block for the symbol" do
lambda { @s.rb_throw(nil) }.should raise_error(UncaughtThrowError)
end
end

@@ -296,8 +296,8 @@
ScratchPad.recorded.should == [:before_throw]
end

it "raises an ArgumentError if the throw symbol isn't caught" do
lambda { @s.rb_catch("foo", lambda { throw :bar }) }.should raise_error(ArgumentError)
it "raises an UncaughtThrowError if the throw symbol isn't caught" do
lambda { @s.rb_catch("foo", lambda { throw :bar }) }.should raise_error(UncaughtThrowError)
end
end

@@ -322,8 +322,8 @@
ScratchPad.recorded.should == [:before_throw]
end

it "raises an ArgumentError if the throw symbol isn't caught" do
lambda { @s.rb_catch("foo", lambda { throw :bar }) }.should raise_error(ArgumentError)
it "raises an UncaughtThrowError if the throw symbol isn't caught" do
lambda { @s.rb_catch("foo", lambda { throw :bar }) }.should raise_error(UncaughtThrowError)
end
end

0 comments on commit 95ab59b

Please sign in to comment.