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