Ticket #4994: test_params_stringify.diff
| File test_params_stringify.diff, 1.8 kB (added by kastberg@tkwsping.nl, 2 years ago) |
|---|
-
actionpack/test/controller/test_test.rb
old new 302 302 end 303 303 304 304 def test_params_passing 305 get :test_params, :page => {:name => "Page name", :month => '4', :year => '2004', :day => '6'}305 get :test_params, :page => {:name => "Page name", :month => 4, :year => '2004', :day => '6'} 306 306 parsed_params = eval(@response.body) 307 307 assert_equal( 308 308 {'controller' => 'test_test/test', 'action' => 'test_params', -
actionpack/lib/action_controller/test_process.rb
old new 97 97 def path 98 98 @path || super() 99 99 end 100 100 def stringify_params(parameters) 101 parameters.inject({}) do |ret,(key,value)| 102 if value.is_a? Fixnum 103 ret[key] = value.to_s 104 elsif value.is_a? Hash 105 ret[key] = stringify_params(value) 106 else 107 ret[key] = value 108 end 109 ret 110 end 111 end 101 112 def assign_parameters(controller_path, action, parameters) 102 113 parameters = parameters.symbolize_keys.merge(:controller => controller_path, :action => action) 103 114 extra_keys = ActionController::Routing::Routes.extra_keys(parameters) 104 115 non_path_parameters = get? ? query_parameters : request_parameters 116 parameters = stringify_params(parameters) 105 117 parameters.each do |key, value| 106 if value.is_a? Fixnum 107 value = value.to_s 108 elsif value.is_a? Array 118 if value.is_a? Array 109 119 value = ActionController::Routing::PathSegment::Result.new(value) 110 120 end 111 121