test/request_test.rb in sinatra-1.0 vs test/request_test.rb in sinatra-1.1.a

- old
+ new

@@ -1,6 +1,7 @@ require File.dirname(__FILE__) + '/helper' +require 'stringio' class RequestTest < Test::Unit::TestCase it 'responds to #user_agent' do request = Sinatra::Request.new({'HTTP_USER_AGENT' => 'Test'}) assert request.respond_to?(:user_agent) @@ -27,7 +28,18 @@ end it 'respects X-Forwarded-Proto header for proxied SSL' do request = Sinatra::Request.new('HTTP_X_FORWARDED_PROTO' => 'https') assert request.secure? + end + + it 'is possible to marshal params' do + request = Sinatra::Request.new( + 'REQUEST_METHOD' => 'PUT', + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded', + 'rack.input' => StringIO.new('foo=bar') + ) + params = Sinatra::Base.new.send(:indifferent_hash).replace(request.params) + dumped = Marshal.dump(request.params) + assert_equal 'bar', Marshal.load(dumped)['foo'] end end