1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionpack/test/controller/api/renderers_test.rb
Jon Moss 77acc004ef Re-add ActionController::ApiRendering
- Fixes bug #23142.
- Bug was occurring only with ActionController::API, because `_process_options` wasn't being run for API requests, even though it was being run for normal app requests.
2016-01-20 19:16:23 -05:00

58 lines
1.1 KiB
Ruby

require 'abstract_unit'
require 'active_support/core_ext/hash/conversions'
class RenderersApiController < ActionController::API
class Model
def to_json(options = {})
{ a: 'b' }.to_json(options)
end
def to_xml(options = {})
{ a: 'b' }.to_xml(options)
end
end
def one
render json: Model.new
end
def two
render xml: Model.new
end
def plain
render plain: 'Hi from plain', status: 500
end
def text
render text: 'Hi from text', status: 500
end
end
class RenderersApiTest < ActionController::TestCase
tests RenderersApiController
def test_render_json
get :one
assert_response :success
assert_equal({ a: 'b' }.to_json, @response.body)
end
def test_render_xml
get :two
assert_response :success
assert_equal({ a: 'b' }.to_xml, @response.body)
end
def test_render_plain
get :plain
assert_response :internal_server_error
assert_equal('Hi from plain', @response.body)
end
def test_render_text
get :text
assert_response :internal_server_error
assert_equal('Hi from text', @response.body)
end
end