class ControllerInstanceTests

Public Instance Methods

setup() click to toggle source
# File actionpack/test/controller/base_test.rb, line 101
def setup
  @empty = EmptyController.new
  @empty.set_request!(ActionDispatch::Request.empty)
  @empty.set_response!(EmptyController.make_response!(@empty.request))
  @contained = Submodule::ContainedEmptyController.new
  @empty_controllers = [@empty, @contained]
end
test_action_methods() click to toggle source
# File actionpack/test/controller/base_test.rb, line 115
def test_action_methods
  @empty_controllers.each do |c|
    assert_equal Set.new, c.class.action_methods, "#{c.controller_path} should be empty!"
  end
end
test_performed?() click to toggle source
# File actionpack/test/controller/base_test.rb, line 109
def test_performed?
  assert !@empty.performed?
  @empty.response_body = ["sweet"]
  assert @empty.performed?
end
test_response_has_default_headers() click to toggle source
# File actionpack/test/controller/base_test.rb, line 130
def test_response_has_default_headers
  original_default_headers = ActionDispatch::Response.default_headers

  ActionDispatch::Response.default_headers = {
    "X-Frame-Options" => "DENY",
    "X-Content-Type-Options" => "nosniff",
    "X-XSS-Protection" => "1;"
  }

  response_headers = SimpleController.action("hello").call(
    "REQUEST_METHOD" => "GET",
    "rack.input" => -> {}
  )[1]

  assert response_headers.key?("X-Frame-Options")
  assert response_headers.key?("X-Content-Type-Options")
  assert response_headers.key?("X-XSS-Protection")
ensure
  ActionDispatch::Response.default_headers = original_default_headers
end
test_temporary_anonymous_controllers() click to toggle source
# File actionpack/test/controller/base_test.rb, line 121
def test_temporary_anonymous_controllers
  name = "ExamplesController"
  klass = Class.new(ActionController::Base)
  Object.const_set(name, klass)

  controller = klass.new
  assert_equal "examples", controller.controller_path
end