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
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
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
# 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
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
# 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
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
# 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
# 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
# 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
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.