Skip to content

Commit

Permalink
modified fix #1872 according to jose valim´s suggestions
Browse files Browse the repository at this point in the history
  • Loading branch information
TomTriple committed Aug 1, 2011
1 parent 030bb71 commit 7b39dda
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 0 deletions.
5 changes: 5 additions & 0 deletions actionpack/lib/action_controller/metal/testing.rb
Expand Up @@ -4,6 +4,11 @@ module Testing

include RackDelegation

def recycle!
@_url_options = nil
end


# TODO: Clean this up
def process_with_new_base_test(request, response)
@_request = request
Expand Down
1 change: 1 addition & 0 deletions actionpack/lib/action_controller/test_case.rb
Expand Up @@ -447,6 +447,7 @@ def process(action, parameters = nil, session = nil, flash = nil, http_method =
@controller.params.merge!(parameters)
build_request_uri(action, parameters)
@controller.class.class_eval { include Testing }
@controller.recycle!
@controller.process_with_new_base_test(@request, @response)
@assigns = @controller.respond_to?(:view_assigns) ? @controller.view_assigns : {}
@request.session.delete('flash') if @request.session['flash'].blank?
Expand Down
29 changes: 29 additions & 0 deletions actionpack/test/controller/default_url_options_with_filter_test.rb
@@ -0,0 +1,29 @@
require 'abstract_unit'


class ControllerWithBeforeFilterAndDefaultUrlOptions < ActionController::Base

before_filter { I18n.locale = params[:locale] }
after_filter { I18n.locale = "en" }

def target
render :text => "final response"
end

def redirect
redirect_to :action => "target"
end

def default_url_options
{:locale => "de"}
end
end

class ControllerWithBeforeFilterAndDefaultUrlOptionsTest < ActionController::TestCase

# This test has it´s roots in issue #1872
test "should redirect with correct locale :de" do
get :redirect, :locale => "de"
assert_redirected_to "/controller_with_before_filter_and_default_url_options/target?locale=de"
end
end

0 comments on commit 7b39dda

Please sign in to comment.