From cc6e8ae57a4a886d68cfa95829fcb7a65a273cab Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 18 Mar 2006 21:17:14 +0000 Subject: Removed XML argument style for respond_to, so type.xml(object.to_xml) no longer works -- it wasnt worth the exception git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3944 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/test/controller/mime_responds_test.rb | 44 +++++++++++++++--------- 1 file changed, 28 insertions(+), 16 deletions(-) (limited to 'actionpack/test/controller/mime_responds_test.rb') diff --git a/actionpack/test/controller/mime_responds_test.rb b/actionpack/test/controller/mime_responds_test.rb index 06addad2ea..6fe14bf65b 100644 --- a/actionpack/test/controller/mime_responds_test.rb +++ b/actionpack/test/controller/mime_responds_test.rb @@ -1,6 +1,8 @@ require File.dirname(__FILE__) + '/../abstract_unit' class RespondToController < ActionController::Base + layout :set_layout + def html_xml_or_rss respond_to do |type| type.html { render :text => "HTML" } @@ -44,14 +46,6 @@ class RespondToController < ActionController::Base respond_to(:html, :js, :xml) end - def using_argument_defaults - person_in_xml = { :name => "David" }.to_xml(:root => "person") - respond_to do |type| - type.html - type.xml(person_in_xml) - end - end - def made_for_content_type respond_to do |type| type.rss { render :text => "RSS" } @@ -75,9 +69,23 @@ class RespondToController < ActionController::Base end end + def all_types_with_layout + respond_to do |type| + type.html + type.js + end + end + def rescue_action(e) raise end + + protected + def set_layout + if action_name == "all_types_with_layout" + "standard" + end + end end RespondToController.template_root = File.dirname(__FILE__) + "/../fixtures/" @@ -173,12 +181,6 @@ class MimeControllerTest < Test::Unit::TestCase assert_equal "

Hello world!

\n", @response.body end - def test_using_argument_defaults - @request.env["HTTP_ACCEPT"] = "application/xml" - get :using_argument_defaults - assert_equal "\n\n David\n\n", @response.body - end - def test_with_content_type @request.env["CONTENT_TYPE"] = "application/atom+xml" get :made_for_content_type @@ -195,8 +197,8 @@ class MimeControllerTest < Test::Unit::TestCase assert_equal 'JS', @response.body @request.env["HTTP_ACCEPT"] = "application/x-xml" - get :using_argument_defaults - assert_equal "\n\n David\n\n", @response.body + get :html_xml_or_rss + assert_equal "XML", @response.body end def test_custom_types @@ -234,4 +236,14 @@ class MimeControllerTest < Test::Unit::TestCase get :handle_any assert_equal 'Either JS or XML', @response.body end + + def test_all_types_with_layout + @request.env["HTTP_ACCEPT"] = "text/javascript" + get :all_types_with_layout + assert_equal 'RJS for all_types_with_layout', @response.body + + @request.env["HTTP_ACCEPT"] = "text/html" + get :all_types_with_layout + assert_equal 'HTML for all_types_with_layout', @response.body + end end \ No newline at end of file -- cgit v1.2.3