Class: Rack::MockResponse

Inherits:
Object
  • Object
show all
Includes:
Response::Helpers
Defined in:
lib/rack/mock.rb

Overview

Rack::MockResponse provides useful helpers for testing your apps. Usually, you don't create the MockResponse on your own, but use MockRequest.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Response::Helpers

#client_error?, #content_length, #content_type, #empty?, #forbidden?, #include?, #informational?, #invalid?, #location, #not_found?, #ok?, #redirect?, #redirection?, #server_error?, #successful?

Constructor Details

#initialize(status, headers, body, errors = StringIO.new("")) ⇒ MockResponse

Returns a new instance of MockResponse



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'lib/rack/mock.rb', line 145

def initialize(status, headers, body, errors=StringIO.new(""))
  @status = status.to_i

  @original_headers = headers
  @headers = Rack::Utils::HeaderHash.new
  headers.each { |field, values|
    @headers[field] = values
    @headers[field] = ""  if values.empty?
  }

  @body = ""
  body.each { |part| @body << part }

  @errors = errors.string if errors.respond_to?(:string)
end

Instance Attribute Details

#bodyObject (readonly)

Body



173
174
175
# File 'lib/rack/mock.rb', line 173

def body
  @body
end

#errorsObject

Errors



185
186
187
# File 'lib/rack/mock.rb', line 185

def errors
  @errors
end

#headersObject (readonly)

Headers



165
166
167
# File 'lib/rack/mock.rb', line 165

def headers
  @headers
end

#original_headersObject (readonly)

Headers



165
166
167
# File 'lib/rack/mock.rb', line 165

def original_headers
  @original_headers
end

#statusObject (readonly)

Status



162
163
164
# File 'lib/rack/mock.rb', line 162

def status
  @status
end

Instance Method Details

#=~(other) ⇒ Object



175
176
177
# File 'lib/rack/mock.rb', line 175

def =~(other)
  @body =~ other
end

#[](field) ⇒ Object



167
168
169
# File 'lib/rack/mock.rb', line 167

def [](field)
  headers[field]
end

#match(other) ⇒ Object



179
180
181
# File 'lib/rack/mock.rb', line 179

def match(other)
  @body.match other
end