1
0
Fork 0
mirror of https://github.com/sinatra/sinatra synced 2023-03-27 23:18:01 -04:00
sinatra/rack-protection/spec/escaped_params_spec.rb
2011-05-25 11:55:05 +02:00

34 lines
966 B
Ruby

require File.expand_path('../spec_helper.rb', __FILE__)
describe Rack::Protection::EscapedParams do
it_behaves_like "any rack application"
context 'escaping' do
it 'escapes html entities' do
mock_app do |env|
request = Rack::Request.new(env)
[200, {'Content-Type' => 'text/plain'}, [request.params['foo']]]
end
get '/', :foo => "<bar>"
body.should == '&lt;bar&gt;'
end
it 'leaves normal params untouched' do
mock_app do |env|
request = Rack::Request.new(env)
[200, {'Content-Type' => 'text/plain'}, [request.params['foo']]]
end
get '/', :foo => "bar"
body.should == 'bar'
end
it 'copes with nested arrays' do
mock_app do |env|
request = Rack::Request.new(env)
[200, {'Content-Type' => 'text/plain'}, [request.params['foo']['bar']]]
end
get '/', :foo => {:bar => "<bar>"}
body.should == '&lt;bar&gt;'
end
end
end