From caa8a005202b267b75baf521d5f613f3a2bce600 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 17 Sep 2006 18:10:25 +0000 Subject: Added that respond_to blocks will automatically set the content type to be the same as is requested [DHH] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5131 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/test/controller/content_type_test.rb | 31 +++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'actionpack/test/controller/content_type_test.rb') diff --git a/actionpack/test/controller/content_type_test.rb b/actionpack/test/controller/content_type_test.rb index 71563ba9a6..f2708acc0a 100644 --- a/actionpack/test/controller/content_type_test.rb +++ b/actionpack/test/controller/content_type_test.rb @@ -30,6 +30,15 @@ class ContentTypeController < ActionController::Base render :action => "render_default_for_rxml" end + def render_default_content_types_for_respond_to + respond_to do |format| + format.html { render :text => "hello world!" } + format.xml { render :action => "render_default_content_types_for_respond_to.rhtml" } + format.js { render :text => "hello world!" } + format.rss { render :text => "hello world!", :content_type => Mime::XML } + end + end + def rescue_action(e) raise end end @@ -96,4 +105,26 @@ class ContentTypeTest < Test::Unit::TestCase assert_equal Mime::HTML, @response.content_type assert_equal "utf-8", @response.charset end + + def test_render_default_content_types_for_respond_to + @request.env["HTTP_ACCEPT"] = Mime::HTML.to_s + get :render_default_content_types_for_respond_to + assert_equal Mime::HTML, @response.content_type + + @request.env["HTTP_ACCEPT"] = Mime::JS.to_s + get :render_default_content_types_for_respond_to + assert_equal Mime::JS, @response.content_type + end + + def test_render_default_content_types_for_respond_to_with_template + @request.env["HTTP_ACCEPT"] = Mime::XML.to_s + get :render_default_content_types_for_respond_to + assert_equal Mime::XML, @response.content_type + end + + def test_render_default_content_types_for_respond_to_with_overwrite + @request.env["HTTP_ACCEPT"] = Mime::RSS.to_s + get :render_default_content_types_for_respond_to + assert_equal Mime::XML, @response.content_type + end end \ No newline at end of file -- cgit v1.2.3