diff options
author | Matthew Draper <matthew@trebex.net> | 2016-01-06 12:43:40 +1030 |
---|---|---|
committer | Matthew Draper <matthew@trebex.net> | 2016-01-12 11:37:42 +1030 |
commit | 272c5838dfed0473acc11a9f97d797180015b242 (patch) | |
tree | 965424fdf3c4c069a6736a37a2c5debef41c5cf1 /actionpack/test/dispatch/response_test.rb | |
parent | ddfd51f270a9d915c64e83f73390c8642de44e23 (diff) | |
download | rails-272c5838dfed0473acc11a9f97d797180015b242.tar.gz rails-272c5838dfed0473acc11a9f97d797180015b242.tar.bz2 rails-272c5838dfed0473acc11a9f97d797180015b242.zip |
Commit before freezing the headers
This shouldn't generally come up: under a standard flow, we don't start
sending until after the commit. But application code always finds a way.
Diffstat (limited to 'actionpack/test/dispatch/response_test.rb')
-rw-r--r-- | actionpack/test/dispatch/response_test.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/response_test.rb b/actionpack/test/dispatch/response_test.rb index c37679bc5f..43ee2efd9f 100644 --- a/actionpack/test/dispatch/response_test.rb +++ b/actionpack/test/dispatch/response_test.rb @@ -37,6 +37,27 @@ class ResponseTest < ActiveSupport::TestCase assert_equal "closed stream", e.message end + def test_read_body_during_action + @response.body = "Hello, World!" + + # even though there's no explicitly set content-type, + assert_equal nil, @response.content_type + + # after the action reads back @response.body, + assert_equal "Hello, World!", @response.body + + # the response can be built. + status, headers, body = @response.to_a + assert_equal 200, status + assert_equal({ + "Content-Type" => "text/html; charset=utf-8" + }, headers) + + parts = [] + body.each { |part| parts << part } + assert_equal ["Hello, World!"], parts + end + def test_response_body_encoding body = ["hello".encode(Encoding::UTF_8)] response = ActionDispatch::Response.new 200, {}, body |