Fixed flash.now not being accessible in tests. Flash sweeping is now done before action processing instead after

Signed-off-by: Michael Koziarski <michael@koziarski.com>

[#10 state:resolved]
This commit is contained in:
Andreas Neuhaus 2008-05-10 17:54:09 +02:00 committed by Michael Koziarski
parent a7ea06b4eb
commit 74eed6290e
2 changed files with 11 additions and 6 deletions

@ -28,7 +28,6 @@ def self.included(base)
base.class_eval do
include InstanceMethods
alias_method_chain :assign_shortcuts, :flash
alias_method_chain :process_cleanup, :flash
alias_method_chain :reset_session, :flash
end
end
@ -166,11 +165,7 @@ def flash(refresh = false) #:doc:
def assign_shortcuts_with_flash(request, response) #:nodoc:
assign_shortcuts_without_flash(request, response)
flash(:refresh)
end
def process_cleanup_with_flash
flash.sweep if @_session
process_cleanup_without_flash
flash.sweep if @_session && !component_request?
end
end
end

@ -12,6 +12,11 @@ def set_flash
render :text => 'ignore me'
end
def set_flash_now
flash.now["test_now"] = ">#{flash["test_now"]}<"
render :text => 'ignore me'
end
def set_session
session['string'] = 'A wonder'
session[:symbol] = 'it works'
@ -145,6 +150,11 @@ def test_process_with_flash
assert_equal '>value<', flash['test']
end
def test_process_with_flash_now
process :set_flash_now, nil, nil, { "test_now" => "value_now" }
assert_equal '>value_now<', flash['test_now']
end
def test_process_with_session
process :set_session
assert_equal 'A wonder', session['string'], "A value stored in the session should be available by string key"