diff options
author | Daniel Stutzman <dstutzman@thinkpad.(none)> | 2011-05-07 16:35:56 -0600 |
---|---|---|
committer | Daniel Stutzman <dstutzman@thinkpad.(none)> | 2011-05-07 16:35:56 -0600 |
commit | 2ab42dcc3ed0d37e64da10063b4162bd8e8cb4bf (patch) | |
tree | 9c94e9f29fefc2d8d189c702457ce57fbcffe0b8 | |
parent | 030e1d06ca36e1ed235f8e34ac9bfb6906b12dce (diff) | |
download | rails-2ab42dcc3ed0d37e64da10063b4162bd8e8cb4bf.tar.gz rails-2ab42dcc3ed0d37e64da10063b4162bd8e8cb4bf.tar.bz2 rails-2ab42dcc3ed0d37e64da10063b4162bd8e8cb4bf.zip |
New test: setting response_body to a Proc should be supported.
-rw-r--r-- | actionpack/test/dispatch/response_body_is_proc_test.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/response_body_is_proc_test.rb b/actionpack/test/dispatch/response_body_is_proc_test.rb new file mode 100644 index 0000000000..86d788b845 --- /dev/null +++ b/actionpack/test/dispatch/response_body_is_proc_test.rb @@ -0,0 +1,38 @@ +require 'abstract_unit' + +class ResponseBodyIsProcTest < ActionDispatch::IntegrationTest + class TestController < ActionController::Base + def test + request.session_options[:renew] = true + self.response_body = proc { |response, output| + puts caller + output.write 'Hello' + } + end + + def rescue_action(e) raise end + end + + def test_simple_get + with_test_route_set do + get '/test' + assert_response :success + assert_equal 'Hello', response.body + end + end + + private + def with_test_route_set(options = {}) + with_routing do |set| + set.draw do + match ':action', :to => ::ResponseBodyIsProcTest::TestController + end + + @app = self.class.build_app(set) do |middleware| + middleware.delete "ActionDispatch::ShowExceptions" + end + + yield + end + end +end |