Hey guys, I just ran into a situation where this test started failing after upgrading to 2.3.2 from 2.2.2:
xhr :post, :signin, :email => "[email protected]", :password => "correct" assert_template "signin/link" xhr :post, :signin, :email => "[email protected]" assert_template "signin/index" The second assert is failing. Instead of rendering the index template, it's rendering the link template again. After a bit of debugging, I saw that the second request has :password => "correct" being passed in as a parameter. I tracked it down to action_controller/request.rb: 420 # Override Rack's GET method to support indifferent access 421 def GET 422 @env["action_controller.request.query_parameters"] ||= normalize_parameters(super) 423 end 424 alias_method :query_parameters, :GET 425 426 # Override Rack's POST method to support indifferent access 427 def POST 428 @env["action_controller.request.request_parameters"] ||= normalize_parameters(super) 429 end 430 alias_method :request_parameters, :POST In action_controller/test_process.rb, there are several places where we try to clean up the current request by setting @parameters to nil, but this ignores the fact that request_parameters no longer relies on @parameters. It's now duping @env["action_controller.request.request_parameters"] So I'm thinking test_process needs a 'clear_parameters' method: def clear_parameters @request.env.delete('action_controller.request.request_parameters') @request.env.delete('action_controller.request.query_parameters') end And that this method should be called in place of @parameters = nil This is my first foray into the world of Rack, so I could be way off base here. Thoughts? Thanks, Ryan --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---
