mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Revert "Re-enable capture'ing non-String values"
This reverts commit c2fe0938d7
.
This commit is contained in:
parent
488aefe742
commit
e4627edf87
4 changed files with 3 additions and 15 deletions
|
@ -1,8 +1 @@
|
||||||
Please check [4-2-stable](https://github.com/rails/rails/blob/4-2-stable/actionview/CHANGELOG.md) for previous changes.
|
Please check [4-2-stable](https://github.com/rails/rails/blob/4-2-stable/actionview/CHANGELOG.md) for previous changes.
|
||||||
|
|
||||||
* Restore old behaviour for `capture` to return value as is when passed non-String values.
|
|
||||||
|
|
||||||
Fixes #17661.
|
|
||||||
|
|
||||||
*Carsten Zimmermann*
|
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ module ActionView
|
||||||
def capture(*args)
|
def capture(*args)
|
||||||
value = nil
|
value = nil
|
||||||
buffer = with_output_buffer { value = yield(*args) }
|
buffer = with_output_buffer { value = yield(*args) }
|
||||||
if string = buffer.presence || value
|
if string = buffer.presence || value and string.is_a?(String)
|
||||||
ERB::Util.html_escape string
|
ERB::Util.html_escape string
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -24,8 +24,8 @@ class CaptureHelperTest < ActionView::TestCase
|
||||||
assert_equal 'foobar', string
|
assert_equal 'foobar', string
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_capture_returns_value_even_if_the_returned_value_is_not_a_string
|
def test_capture_returns_nil_if_the_returned_value_is_not_a_string
|
||||||
assert_equal '1', @av.capture { 1 }
|
assert_nil @av.capture { 1 }
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_capture_escapes_html
|
def test_capture_escapes_html
|
||||||
|
|
|
@ -64,11 +64,6 @@ class TagHelperTest < ActionView::TestCase
|
||||||
content_tag("a", "href" => "create") { "Create" }
|
content_tag("a", "href" => "create") { "Create" }
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_content_tag_with_block_and_non_string_outside_out_of_erb
|
|
||||||
assert_equal content_tag("p", "1.0", nil, false),
|
|
||||||
content_tag("p") { 1.0 }
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_content_tag_nested_in_content_tag_out_of_erb
|
def test_content_tag_nested_in_content_tag_out_of_erb
|
||||||
assert_equal content_tag("p", content_tag("b", "Hello")),
|
assert_equal content_tag("p", content_tag("b", "Hello")),
|
||||||
content_tag("p") { content_tag("b", "Hello") },
|
content_tag("p") { content_tag("b", "Hello") },
|
||||||
|
|
Loading…
Reference in a new issue