Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

89 lines (74 sloc) 1.648 kb
require File.dirname(__FILE__) + '/helper'
describe 'Result Handling' do
it "sets response.body when result is a String" do
mock_app {
get '/' do
'Hello World'
end
}
get '/'
assert ok?
assert_equal 'Hello World', body
end
it "sets response.body when result is an Array of Strings" do
mock_app {
get '/' do
['Hello', 'World']
end
}
get '/'
assert ok?
assert_equal 'HelloWorld', body
end
it "sets response.body when result responds to #each" do
mock_app {
get '/' do
res = lambda { 'Hello World' }
def res.each ; yield call ; end
res
end
}
get '/'
assert ok?
assert_equal 'Hello World', body
end
it "sets response.body to [] when result is nil" do
mock_app {
get '/' do
nil
end
}
get '/'
assert ok?
assert_equal '', body
end
it "sets status, headers, and body when result is a Rack response tuple" do
mock_app {
get '/' do
[205, {'Content-Type' => 'foo/bar'}, 'Hello World']
end
}
get '/'
assert_equal 205, status
assert_equal 'foo/bar', response['Content-Type']
assert_equal 'Hello World', body
end
it "sets status and body when result is a two-tuple" do
mock_app {
get '/' do
[409, 'formula of']
end
}
get '/'
assert_equal 409, status
assert_equal 'formula of', body
end
it "sets status when result is a Fixnum status code" do
mock_app {
get('/') { 205 }
}
get '/'
assert_equal 205, status
assert_equal '', body
end
end
Jump to Line
Something went wrong with that request. Please try again.