aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/mime_responds_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/test/controller/mime_responds_test.rb')
-rw-r--r--actionpack/test/controller/mime_responds_test.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/actionpack/test/controller/mime_responds_test.rb b/actionpack/test/controller/mime_responds_test.rb
index d78feb25e9..f2aa45a168 100644
--- a/actionpack/test/controller/mime_responds_test.rb
+++ b/actionpack/test/controller/mime_responds_test.rb
@@ -31,12 +31,30 @@ class RespondToController < ActionController::Base
type.xml { render :text => "XML" }
end
end
+
+ def using_defaults
+ respond_to do |type|
+ type.html
+ type.js
+ type.xml
+ end
+ 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 rescue_action(e)
raise unless ActionController::MissingTemplate === e
end
end
+RespondToController.template_root = File.dirname(__FILE__) + "/../fixtures/"
+
class MimeControllerTest < Test::Unit::TestCase
def setup
@request = ActionController::TestRequest.new
@@ -99,4 +117,24 @@ class MimeControllerTest < Test::Unit::TestCase
get :just_xml
assert_equal 'XML', @response.body
end
+
+ def test_using_defaults
+ @request.env["HTTP_ACCEPT"] = "*/*"
+ get :using_defaults
+ assert_equal 'Hello world!', @response.body
+
+ @request.env["HTTP_ACCEPT"] = "text/javascript"
+ get :using_defaults
+ assert_equal "$('body').visualEffect(\"highlight\");", @response.body
+
+ @request.env["HTTP_ACCEPT"] = "application/xml"
+ get :using_defaults
+ assert_equal "<p>Hello world!</p>\n", @response.body
+ end
+
+ def test_using_argument_defaults
+ @request.env["HTTP_ACCEPT"] = "application/xml"
+ get :using_argument_defaults
+ assert_equal "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<person>\n <name>David</name>\n</person>\n", @response.body
+ end
end \ No newline at end of file