mirror of https://github.com/rails/rails
Removed CaptureHelper#flush_output_buffer as it is only used in tests.
reviewed: @tenderlove
This commit is contained in:
parent
489a8f2a44
commit
479c7cacd5
|
@ -202,15 +202,6 @@ module ActionView
|
|||
ensure
|
||||
self.output_buffer = old_buffer
|
||||
end
|
||||
|
||||
# Add the output buffer to the response body and start a new one.
|
||||
def flush_output_buffer #:nodoc:
|
||||
if output_buffer && !output_buffer.empty?
|
||||
response.stream.write output_buffer
|
||||
self.output_buffer = output_buffer.respond_to?(:clone_empty) ? output_buffer.clone_empty : output_buffer[0, 0]
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -207,29 +207,6 @@ class CaptureHelperTest < ActionView::TestCase
|
|||
assert_equal "", @av.with_output_buffer {}
|
||||
end
|
||||
|
||||
def test_flush_output_buffer_concats_output_buffer_to_response
|
||||
view = view_with_controller
|
||||
assert_equal [], view.response.body_parts
|
||||
|
||||
view.output_buffer << 'OMG'
|
||||
view.flush_output_buffer
|
||||
assert_equal ['OMG'], view.response.body_parts
|
||||
assert_equal '', view.output_buffer
|
||||
|
||||
view.output_buffer << 'foobar'
|
||||
view.flush_output_buffer
|
||||
assert_equal ['OMG', 'foobar'], view.response.body_parts
|
||||
assert_equal '', view.output_buffer
|
||||
end
|
||||
|
||||
def test_flush_output_buffer_preserves_the_encoding_of_the_output_buffer
|
||||
view = view_with_controller
|
||||
alt_encoding = alt_encoding(view.output_buffer)
|
||||
view.output_buffer.force_encoding(alt_encoding)
|
||||
flush_output_buffer
|
||||
assert_equal alt_encoding, view.output_buffer.encoding
|
||||
end
|
||||
|
||||
def alt_encoding(output_buffer)
|
||||
output_buffer.encoding == Encoding::US_ASCII ? Encoding::UTF_8 : Encoding::US_ASCII
|
||||
end
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
require 'abstract_unit'
|
||||
|
||||
class OutputBufferTest < ActionController::TestCase
|
||||
class TestController < ActionController::Base
|
||||
def index
|
||||
render :text => 'foo'
|
||||
end
|
||||
end
|
||||
|
||||
tests TestController
|
||||
|
||||
def setup
|
||||
@vc = @controller.view_context
|
||||
get :index
|
||||
assert_equal ['foo'], body_parts
|
||||
end
|
||||
|
||||
test 'output buffer is nil after rendering' do
|
||||
assert_nil output_buffer
|
||||
end
|
||||
|
||||
test 'flushing ignores nil output buffer' do
|
||||
@controller.view_context.flush_output_buffer
|
||||
assert_nil output_buffer
|
||||
assert_equal ['foo'], body_parts
|
||||
end
|
||||
|
||||
test 'flushing ignores empty output buffer' do
|
||||
@vc.output_buffer = ''
|
||||
@vc.flush_output_buffer
|
||||
assert_equal '', output_buffer
|
||||
assert_equal ['foo'], body_parts
|
||||
end
|
||||
|
||||
test 'flushing appends the output buffer to the body parts' do
|
||||
@vc.output_buffer = 'bar'
|
||||
@vc.flush_output_buffer
|
||||
assert_equal '', output_buffer
|
||||
assert_equal ['foo', 'bar'], body_parts
|
||||
end
|
||||
|
||||
test 'flushing preserves output buffer encoding' do
|
||||
original_buffer = ' '.force_encoding(Encoding::EUC_JP)
|
||||
@vc.output_buffer = original_buffer
|
||||
@vc.flush_output_buffer
|
||||
assert_equal ['foo', original_buffer], body_parts
|
||||
assert_not_equal original_buffer, output_buffer
|
||||
assert_equal Encoding::EUC_JP, output_buffer.encoding
|
||||
end
|
||||
|
||||
protected
|
||||
def output_buffer
|
||||
@vc.output_buffer
|
||||
end
|
||||
|
||||
def body_parts
|
||||
@controller.response.body_parts
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue