Executes a request simulating DELETE HTTP method and set/volley the response
# File lib/action_controller/test_case.rb, line 357
357: def delete(action, parameters = nil, session = nil, flash = nil)
358: process(action, parameters, session, flash, "DELETE")
359: end
Executes a request simulating GET HTTP method and set/volley the response
# File lib/action_controller/test_case.rb, line 342
342: def get(action, parameters = nil, session = nil, flash = nil)
343: process(action, parameters, session, flash, "GET")
344: end
Executes a request simulating HEAD HTTP method and set/volley the response
# File lib/action_controller/test_case.rb, line 362
362: def head(action, parameters = nil, session = nil, flash = nil)
363: process(action, parameters, session, flash, "HEAD")
364: end
Executes a request simulating POST HTTP method and set/volley the response
# File lib/action_controller/test_case.rb, line 347
347: def post(action, parameters = nil, session = nil, flash = nil)
348: process(action, parameters, session, flash, "POST")
349: end
# File lib/action_controller/test_case.rb, line 376
376: def process(action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
377: # Sanity check for required instance variables so we can give an
378: # understandable error message.
379: %(@routes @controller @request @response).each do |iv_name|
380: if !(instance_variable_names.include?(iv_name) || instance_variable_names.include?(iv_name.to_sym)) || instance_variable_get(iv_name).nil?
381: raise "#{iv_name} is nil: make sure you set it in your test's setup method."
382: end
383: end
384:
385: @request.recycle!
386: @response.recycle!
387: @controller.response_body = nil
388: @controller.formats = nil
389: @controller.params = nil
390:
391: @html_document = nil
392: @request.env['REQUEST_METHOD'] = http_method
393:
394: parameters ||= {}
395: @request.assign_parameters(@routes, @controller.class.name.underscore.sub(/_controller$/, ''), action.to_s, parameters)
396:
397: @request.session = ActionController::TestSession.new(session) unless session.nil?
398: @request.session["flash"] = @request.flash.update(flash || {})
399: @request.session["flash"].sweep
400:
401: @controller.request = @request
402: @controller.params.merge!(parameters)
403: build_request_uri(action, parameters)
404: Base.class_eval { include Testing }
405: @controller.process_with_new_base_test(@request, @response)
406: @request.session.delete('flash') if @request.session['flash'].blank?
407: @response
408: end
Executes a request simulating PUT HTTP method and set/volley the response
# File lib/action_controller/test_case.rb, line 352
352: def put(action, parameters = nil, session = nil, flash = nil)
353: process(action, parameters, session, flash, "PUT")
354: end
Cause the action to be rescued according to the regular rules for rescue_action when the visitor is not local
# File lib/action_controller/test_case.rb, line 427
427: def rescue_action_in_public!
428: @request.remote_addr = '208.77.188.166' # example.com
429: end
# File lib/action_controller/test_case.rb, line 410
410: def setup_controller_request_and_response
411: @request = TestRequest.new
412: @response = TestResponse.new
413:
414: if klass = self.class.controller_class
415: @controller ||= klass.new rescue nil
416: end
417:
418: @request.env.delete('PATH_INFO')
419:
420: if @controller
421: @controller.request = @request
422: @controller.params = {}
423: end
424: end
# File lib/action_controller/test_case.rb, line 366
366: def xml_http_request(request_method, action, parameters = nil, session = nil, flash = nil)
367: @request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
368: @request.env['HTTP_ACCEPT'] ||= [Mime::JS, Mime::HTML, Mime::XML, 'text/xml', Mime::ALL].join(', ')
369: __send__(request_method, action, parameters, session, flash).tap do
370: @request.env.delete 'HTTP_X_REQUESTED_WITH'
371: @request.env.delete 'HTTP_ACCEPT'
372: end
373: end
# File lib/action_controller/test_case.rb, line 439
439: def build_request_uri(action, parameters)
440: unless @request.env["PATH_INFO"]
441: options = @controller.__send__(:url_options).merge(parameters)
442: options.update(
443: :only_path => true,
444: :action => action,
445: :relative_url_root => nil,
446: :_path_segments => @request.symbolized_path_parameters)
447:
448: url, query_string = @routes.url_for(options).split("?", 2)
449:
450: @request.env["SCRIPT_NAME"] = @controller.config.relative_url_root
451: @request.env["PATH_INFO"] = url
452: @request.env["QUERY_STRING"] = query_string || ""
453: end
454: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.