mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
da1fbb9a00
Yesterday, when improving how `parsed_body` extracted a parser I wrote77bbf1e
. Then I thought that was too many changes in one commit and broke it up locally... or so I thought. When pushed the extra commits removed the changes! Wups! In shame, lob those changes together here: *3b94c38
which meant to fix the CHANGELOG syntax error. *5007df5
which meant to mention `parsed_body` in the docs. *036a7a0
which meant to memoize the `parsed_body`.
28 lines
845 B
Ruby
28 lines
845 B
Ruby
module ActionDispatch
|
|
# Integration test methods such as ActionDispatch::Integration::Session#get
|
|
# and ActionDispatch::Integration::Session#post return objects of class
|
|
# TestResponse, which represent the HTTP response results of the requested
|
|
# controller actions.
|
|
#
|
|
# See Response for more information on controller response objects.
|
|
class TestResponse < Response
|
|
def self.from_response(response)
|
|
new response.status, response.headers, response.body
|
|
end
|
|
|
|
# Was the response successful?
|
|
alias_method :success?, :successful?
|
|
|
|
# Was the URL not found?
|
|
alias_method :missing?, :not_found?
|
|
|
|
# Was there a server-side error?
|
|
alias_method :error?, :server_error?
|
|
|
|
attr_writer :response_parser # :nodoc:
|
|
|
|
def parsed_body
|
|
@parsed_body ||= @response_parser.call(body)
|
|
end
|
|
end
|
|
end
|