Permalink
Browse files

reset_session needs to be a real method so flash can override it

  • Loading branch information...
1 parent 3e33985 commit f82e1046f893c80c6234495f1bca28b4fb6520c9 @josh josh committed Dec 21, 2009
Showing with 17 additions and 13 deletions.
  1. +5 −1 actionpack/lib/action_controller/metal/rack_delegation.rb
  2. +12 −12 actionpack/test/controller/flash_test.rb
@@ -3,7 +3,7 @@ module RackDelegation
extend ActiveSupport::Concern
included do
- delegate :session, :reset_session, :to => "@_request"
+ delegate :session, :to => "@_request"
delegate :headers, :status=, :location=, :content_type=,
:status, :location, :content_type, :to => "@_response"
attr_internal :request
@@ -24,5 +24,9 @@ def response_body=(body)
response.body = body if response
super
end
+
+ def reset_session
+ @_request.reset_session
+ end
end
end
@@ -34,7 +34,7 @@ def use_flash_and_keep_it
flash.keep
render :inline => "hello"
end
-
+
def use_flash_and_update_it
flash.update("this" => "hello again")
@flash_copy = {}.update flash
@@ -76,11 +76,11 @@ def halt_and_redir
def redirect_with_alert
redirect_to '/nowhere', :alert => "Beware the nowheres!"
end
-
+
def redirect_with_notice
redirect_to '/somewhere', :notice => "Good luck in the somewheres!"
end
-
+
def redirect_with_other_flashes
redirect_to '/wonderland', :flash => { :joyride => "Horses!" }
end
@@ -101,7 +101,7 @@ def test_flash
def test_keep_flash
get :set_flash
-
+
get :use_flash_and_keep_it
assert_equal "hello", assigns["flash_copy"]["that"]
assert_equal "hello", assigns["flashy"]
@@ -112,7 +112,7 @@ def test_keep_flash
get :use_flash
assert_nil assigns["flash_copy"]["that"], "On third flash"
end
-
+
def test_flash_now
get :set_flash_now
assert_equal "hello", assigns["flash_copy"]["that"]
@@ -123,8 +123,8 @@ def test_flash_now
assert_nil assigns["flash_copy"]["that"]
assert_nil assigns["flash_copy"]["foo"]
assert_nil assigns["flashy"]
- end
-
+ end
+
def test_update_flash
get :set_flash
get :use_flash_and_update_it
@@ -140,7 +140,7 @@ def test_flash_after_reset_session
assert_equal "hello", assigns["flashy_that"]
assert_equal "good-bye", assigns["flashy_this"]
assert_nil assigns["flashy_that_reset"]
- end
+ end
def test_does_not_set_the_session_if_the_flash_is_empty
get :std_action
@@ -165,24 +165,24 @@ def test_keep_and_discard_return_values
assert_equal(:foo_indeed, flash.discard(:foo)) # valid key passed
assert_nil flash.discard(:unknown) # non existant key passed
assert_equal({:foo => :foo_indeed, :bar => :bar_indeed}, flash.discard()) # nothing passed
- assert_equal({:foo => :foo_indeed, :bar => :bar_indeed}, flash.discard(nil)) # nothing passed
+ assert_equal({:foo => :foo_indeed, :bar => :bar_indeed}, flash.discard(nil)) # nothing passed
assert_equal(:foo_indeed, flash.keep(:foo)) # valid key passed
assert_nil flash.keep(:unknown) # non existant key passed
assert_equal({:foo => :foo_indeed, :bar => :bar_indeed}, flash.keep()) # nothing passed
- assert_equal({:foo => :foo_indeed, :bar => :bar_indeed}, flash.keep(nil)) # nothing passed
+ assert_equal({:foo => :foo_indeed, :bar => :bar_indeed}, flash.keep(nil)) # nothing passed
end
def test_redirect_to_with_alert
get :redirect_with_alert
assert_equal "Beware the nowheres!", @controller.send(:flash)[:alert]
end
-
+
def test_redirect_to_with_notice
get :redirect_with_notice
assert_equal "Good luck in the somewheres!", @controller.send(:flash)[:notice]
end
-
+
def test_redirect_to_with_other_flashes
get :redirect_with_other_flashes
assert_equal "Horses!", @controller.send(:flash)[:joyride]

0 comments on commit f82e104

Please sign in to comment.