Methods
D
G
H
P
S
X
Included Modules
Classes and Modules
Attributes
[R] response
[R] request
Instance Public methods
delete(action, parameters = nil, session = nil, flash = nil)

Executes a request simulating DELETE HTTP method and set/volley the response

     # File actionpack/lib/action_controller/test_case.rb, line 400
400:       def delete(action, parameters = nil, session = nil, flash = nil)
401:         process(action, parameters, session, flash, "DELETE")
402:       end
get(action, parameters = nil, session = nil, flash = nil)

Executes a request simulating GET HTTP method and set/volley the response

     # File actionpack/lib/action_controller/test_case.rb, line 385
385:       def get(action, parameters = nil, session = nil, flash = nil)
386:         process(action, parameters, session, flash, "GET")
387:       end
head(action, parameters = nil, session = nil, flash = nil)

Executes a request simulating HEAD HTTP method and set/volley the response

     # File actionpack/lib/action_controller/test_case.rb, line 405
405:       def head(action, parameters = nil, session = nil, flash = nil)
406:         process(action, parameters, session, flash, "HEAD")
407:       end
paramify_values(hash_or_array_or_value)
     # File actionpack/lib/action_controller/test_case.rb, line 419
419:       def paramify_values(hash_or_array_or_value)
420:         case hash_or_array_or_value
421:         when Hash
422:           Hash[hash_or_array_or_value.map{|key, value| [key, paramify_values(value)] }]
423:         when Array
424:           hash_or_array_or_value.map {|i| paramify_values(i)}
425:         when Rack::Test::UploadedFile
426:           hash_or_array_or_value
427:         else
428:           hash_or_array_or_value.to_param
429:         end
430:       end
post(action, parameters = nil, session = nil, flash = nil)

Executes a request simulating POST HTTP method and set/volley the response

     # File actionpack/lib/action_controller/test_case.rb, line 390
390:       def post(action, parameters = nil, session = nil, flash = nil)
391:         process(action, parameters, session, flash, "POST")
392:       end
process(action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
     # File actionpack/lib/action_controller/test_case.rb, line 432
432:       def process(action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
433:         # Ensure that numbers and symbols passed as params are converted to
434:         # proper params, as is the case when engaging rack.
435:         parameters = paramify_values(parameters) if html_format?(parameters)
436: 
437:         # Sanity check for required instance variables so we can give an
438:         # understandable error message.
439:         %w(@routes @controller @request @response).each do |iv_name|
440:           if !(instance_variable_names.include?(iv_name) || instance_variable_names.include?(iv_name.to_sym)) || instance_variable_get(iv_name).nil?
441:             raise "#{iv_name} is nil: make sure you set it in your test's setup method."
442:           end
443:         end
444: 
445:         @request.recycle!
446:         @response.recycle!
447:         @controller.response_body = nil
448:         @controller.formats = nil
449:         @controller.params = nil
450: 
451:         @html_document = nil
452:         @request.env['REQUEST_METHOD'] = http_method
453: 
454:         parameters ||= {}
455:         controller_class_name = @controller.class.anonymous? ?
456:           "anonymous_controller" :
457:           @controller.class.name.underscore.sub(/_controller$/, '')
458: 
459:         @request.assign_parameters(@routes, controller_class_name, action.to_s, parameters)
460: 
461:         @request.session = ActionController::TestSession.new(session) if session
462:         @request.session["flash"] = @request.flash.update(flash || {})
463:         @request.session["flash"].sweep
464: 
465:         @controller.request = @request
466:         build_request_uri(action, parameters)
467:         @controller.class.class_eval { include Testing }
468:         @controller.recycle!
469:         @controller.process_with_new_base_test(@request, @response)
470:         @assigns = @controller.respond_to?(:view_assigns) ? @controller.view_assigns : {}
471:         @request.session.delete('flash') if @request.session['flash'].blank?
472:         @response
473:       end
put(action, parameters = nil, session = nil, flash = nil)

Executes a request simulating PUT HTTP method and set/volley the response

     # File actionpack/lib/action_controller/test_case.rb, line 395
395:       def put(action, parameters = nil, session = nil, flash = nil)
396:         process(action, parameters, session, flash, "PUT")
397:       end
setup_controller_request_and_response()
     # File actionpack/lib/action_controller/test_case.rb, line 475
475:       def setup_controller_request_and_response
476:         @request = TestRequest.new
477:         @response = TestResponse.new
478: 
479:         if klass = self.class.controller_class
480:           @controller ||= klass.new rescue nil
481:         end
482: 
483:         @request.env.delete('PATH_INFO')
484: 
485:         if defined?(@controller) && @controller
486:           @controller.request = @request
487:           @controller.params = {}
488:         end
489:       end
xhr(request_method, action, parameters = nil, session = nil, flash = nil)

Alias for xml_http_request

xml_http_request(request_method, action, parameters = nil, session = nil, flash = nil)
This method is also aliased as xhr
     # File actionpack/lib/action_controller/test_case.rb, line 409
409:       def xml_http_request(request_method, action, parameters = nil, session = nil, flash = nil)
410:         @request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
411:         @request.env['HTTP_ACCEPT'] ||=  [Mime::JS, Mime::HTML, Mime::XML, 'text/xml', Mime::ALL].join(', ')
412:         __send__(request_method, action, parameters, session, flash).tap do
413:           @request.env.delete 'HTTP_X_REQUESTED_WITH'
414:           @request.env.delete 'HTTP_ACCEPT'
415:         end
416:       end