Class: ActionController::TestResponse
- Inherits:
-
AbstractResponse
- Object
- AbstractResponse
- ActionController::TestResponse
- Defined in:
- lib/action_controller/test_process.rb
Overview
:nodoc:
Constant Summary
Constants inherited from AbstractResponse
AbstractResponse::DEFAULT_HEADERS
Class Attribute Summary collapse
-
.assertion_target ⇒ Object
Returns the value of attribute assertion_target.
Attributes inherited from AbstractResponse
#assigns, #body, #headers, #redirected_to, #redirected_to_method_params, #session, #template
Instance Method Summary collapse
-
#binary_content ⇒ Object
Returns binary content (downloadable file), converted to a String.
-
#cookies ⇒ Object
Returns the response cookies, converted to a Hash of (name => CGI::Cookie) pairs Example:.
-
#flash ⇒ Object
a shortcut to the flash (or an empty hash if no flash.. hey! that rhymes!).
-
#has_flash? ⇒ Boolean
do we have a flash?.
-
#has_flash_object?(name = nil) ⇒ Boolean
does the specified flash object exist?.
-
#has_flash_with_contents? ⇒ Boolean
do we have a flash that has contents?.
-
#has_session_object?(name = nil) ⇒ Boolean
does the specified object exist in the session?.
-
#has_template_object?(name = nil) ⇒ Boolean
does the specified template object exist?.
-
#initialize ⇒ TestResponse
constructor
initializer.
-
#missing? ⇒ Boolean
was the URL not found?.
-
#redirect? ⇒ Boolean
were we redirected?.
-
#redirect_url ⇒ Object
returns the redirection location or nil.
-
#redirect_url_match?(pattern) ⇒ Boolean
does the redirect location match this regexp pattern?.
-
#rendered_file(with_controller = false) ⇒ Object
returns the template path of the file which was used to render this response (or nil).
-
#rendered_with_file? ⇒ Boolean
was this template rendered by a file?.
-
#response_code ⇒ Object
the response code of the request.
-
#server_error? ⇒ Boolean
was there a server-side error?.
-
#success? ⇒ Boolean
was the response successful?.
-
#template_objects ⇒ Object
a shortcut to the template.assigns.
Methods inherited from AbstractResponse
Constructor Details
#initialize ⇒ TestResponse
initializer
103 104 105 106 |
# File 'lib/action_controller/test_process.rb', line 103 def initialize TestResponse.assertion_target=self# if TestResponse.assertion_target.nil? super() end |
Class Attribute Details
.assertion_target ⇒ Object
Returns the value of attribute assertion_target.
99 100 101 |
# File 'lib/action_controller/test_process.rb', line 99 def assertion_target @assertion_target end |
Instance Method Details
#binary_content ⇒ Object
Returns binary content (downloadable file), converted to a String
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
# File 'lib/action_controller/test_process.rb', line 208 def binary_content raise "Response body is not a Proc: #{body.inspect}" unless body.kind_of?(Proc) require 'stringio' sio = StringIO.new begin $stdout = sio body.call ensure $stdout = STDOUT end sio.rewind sio.read end |
#cookies ⇒ Object
Returns the response cookies, converted to a Hash of (name => CGI::Cookie) pairs Example:
assert_equal [‘AuthorOfNewPage’], r.cookies.value
203 204 205 |
# File 'lib/action_controller/test_process.rb', line 203 def headers['cookie'].inject({}) { |hash, | hash[.name] = ; hash } end |
#flash ⇒ Object
a shortcut to the flash (or an empty hash if no flash.. hey! that rhymes!)
165 166 167 |
# File 'lib/action_controller/test_process.rb', line 165 def flash session['flash'] || {} end |
#has_flash? ⇒ Boolean
do we have a flash?
170 171 172 |
# File 'lib/action_controller/test_process.rb', line 170 def has_flash? !session['flash'].empty? end |
#has_flash_object?(name = nil) ⇒ Boolean
does the specified flash object exist?
180 181 182 |
# File 'lib/action_controller/test_process.rb', line 180 def has_flash_object?(name=nil) !flash[name].nil? end |
#has_flash_with_contents? ⇒ Boolean
do we have a flash that has contents?
175 176 177 |
# File 'lib/action_controller/test_process.rb', line 175 def has_flash_with_contents? !flash.empty? end |
#has_session_object?(name = nil) ⇒ Boolean
does the specified object exist in the session?
185 186 187 |
# File 'lib/action_controller/test_process.rb', line 185 def has_session_object?(name=nil) !session[name].nil? end |
#has_template_object?(name = nil) ⇒ Boolean
does the specified template object exist?
195 196 197 |
# File 'lib/action_controller/test_process.rb', line 195 def has_template_object?(name=nil) !template_objects[name].nil? end |
#missing? ⇒ Boolean
was the URL not found?
119 120 121 |
# File 'lib/action_controller/test_process.rb', line 119 def missing? response_code == 404 end |
#redirect? ⇒ Boolean
were we redirected?
124 125 126 |
# File 'lib/action_controller/test_process.rb', line 124 def redirect? (300..399).include?(response_code) end |
#redirect_url ⇒ Object
returns the redirection location or nil
134 135 136 |
# File 'lib/action_controller/test_process.rb', line 134 def redirect_url redirect? ? headers['location'] : nil end |
#redirect_url_match?(pattern) ⇒ Boolean
does the redirect location match this regexp pattern?
139 140 141 142 143 144 145 |
# File 'lib/action_controller/test_process.rb', line 139 def redirect_url_match?( pattern ) return false if redirect_url.nil? p = Regexp.new(pattern) if pattern.class == String p = pattern if pattern.class == Regexp return false if p.nil? p.match(redirect_url) != nil end |
#rendered_file(with_controller = false) ⇒ Object
returns the template path of the file which was used to render this response (or nil)
149 150 151 152 153 154 155 156 157 |
# File 'lib/action_controller/test_process.rb', line 149 def rendered_file(with_controller=false) unless template.first_render.nil? unless with_controller template.first_render else template.first_render.split('/').last || template.first_render end end end |
#rendered_with_file? ⇒ Boolean
was this template rendered by a file?
160 161 162 |
# File 'lib/action_controller/test_process.rb', line 160 def rendered_with_file? !rendered_file.nil? end |
#response_code ⇒ Object
the response code of the request
109 110 111 |
# File 'lib/action_controller/test_process.rb', line 109 def response_code headers['Status'][0,3].to_i rescue 0 end |
#server_error? ⇒ Boolean
was there a server-side error?
129 130 131 |
# File 'lib/action_controller/test_process.rb', line 129 def server_error? (500..599).include?(response_code) end |
#success? ⇒ Boolean
was the response successful?
114 115 116 |
# File 'lib/action_controller/test_process.rb', line 114 def success? response_code == 200 end |
#template_objects ⇒ Object
a shortcut to the template.assigns
190 191 192 |
# File 'lib/action_controller/test_process.rb', line 190 def template_objects template.assigns || {} end |