Class Index [+]

Quicksearch

ActionController::TestCase::Behavior

Attributes

response[R]
request[R]

Public Instance Methods

delete(action, parameters = nil, session = nil, flash = nil) click to toggle source

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

     # File 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) click to toggle source

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

     # File 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) click to toggle source

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

     # File 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) click to toggle source
     # File 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) click to toggle source

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

     # File 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') click to toggle source
     # File 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:         %(@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) click to toggle source

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

     # File 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() click to toggle source
     # File 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) click to toggle source
Alias for: xml_http_request
xml_http_request(request_method, action, parameters = nil, session = nil, flash = nil) click to toggle source
     # File 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
Also aliased as: xhr

Private Instance Methods

build_request_uri(action, parameters) click to toggle source
     # File lib/action_controller/test_case.rb, line 500
500:       def build_request_uri(action, parameters)
501:         unless @request.env["PATH_INFO"]
502:           options = @controller.respond_to?(:url_options) ? @controller.__send__(:url_options).merge(parameters) : parameters
503:           options.update(
504:             :only_path => true,
505:             :action => action,
506:             :relative_url_root => nil,
507:             :_path_segments => @request.symbolized_path_parameters)
508: 
509:           url, query_string = @routes.url_for(options).split("?", 2)
510: 
511:           @request.env["SCRIPT_NAME"] = @controller.config.relative_url_root
512:           @request.env["PATH_INFO"] = url
513:           @request.env["QUERY_STRING"] = query_string || ""
514:         end
515:       end
html_format?(parameters) click to toggle source
     # File lib/action_controller/test_case.rb, line 517
517:       def html_format?(parameters)
518:         return true unless parameters.is_a?(Hash)
519:         format = Mime[parameters[:format]]
520:         format.nil? || format.html?
521:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.