mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
strengthening the test suite for rescue_from
Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
@@ -9,6 +9,9 @@ end
|
||||
class MadRonon < StandardError
|
||||
end
|
||||
|
||||
class CoolError < StandardError
|
||||
end
|
||||
|
||||
class Stargate
|
||||
attr_accessor :result
|
||||
|
||||
@@ -54,9 +57,23 @@ class Stargate
|
||||
|
||||
end
|
||||
|
||||
class CoolStargate < Stargate
|
||||
attr_accessor :result
|
||||
|
||||
include ActiveSupport::Rescuable
|
||||
|
||||
rescue_from CoolError, :with => :sos_cool_error
|
||||
|
||||
def sos_cool_error
|
||||
@result = 'sos_cool_error'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
class RescueableTest < Test::Unit::TestCase
|
||||
def setup
|
||||
@stargate = Stargate.new
|
||||
@cool_stargate = CoolStargate.new
|
||||
end
|
||||
|
||||
def test_rescue_from_with_method
|
||||
@@ -80,4 +97,10 @@ class RescueableTest < Test::Unit::TestCase
|
||||
assert_equal expected, result
|
||||
end
|
||||
|
||||
def test_children_should_inherit_rescue_defintions_from_parents_and_child_rescue_should_be_appended
|
||||
expected = ["WraithAttack", "WraithAttack", "NuclearExplosion", "MadRonon", "CoolError"]
|
||||
result = @cool_stargate.send(:rescue_handlers).collect {|e| e.first}
|
||||
assert_equal expected, result
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user