Browse files

strengthening the test suite for rescue_from

Signed-off-by: José Valim <jose.valim@gmail.com>
  • Loading branch information...
1 parent a5bb1f5 commit 78c8242d2f92bccc4caedc235b8cfbcfcb3650cf Neeraj Singh committed with josevalim Jul 26, 2010
Showing with 23 additions and 0 deletions.
  1. +23 −0 activesupport/test/rescuable_test.rb
View
23 activesupport/test/rescuable_test.rb
@@ -9,6 +9,9 @@ class NuclearExplosion < StandardError
class MadRonon < StandardError
end
+class CoolError < StandardError
+end
+
class Stargate
attr_accessor :result
@@ -54,9 +57,23 @@ def sos_first
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 @@ def test_rescues_defined_later_are_added_at_end_of_the_rescue_handlers_array
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

0 comments on commit 78c8242

Please sign in to comment.