diff --git a/actionpack/lib/action_view/helpers/record_tag_helper.rb b/actionpack/lib/action_view/helpers/record_tag_helper.rb
index 4cd5fa2ad1b4..1a154594069b 100644
--- a/actionpack/lib/action_view/helpers/record_tag_helper.rb
+++ b/actionpack/lib/action_view/helpers/record_tag_helper.rb
@@ -83,8 +83,8 @@ def div_for(record, *args, &block)
def content_tag_for(tag_name, single_or_multiple_records, prefix = nil, options = nil, &block)
options, prefix = prefix, nil if prefix.is_a?(Hash)
- Array.wrap(single_or_multiple_records).map do |single_record|
- content_tag_for_single_record tag_name, single_record, prefix, options, &block
+ Array(single_or_multiple_records).map do |single_record|
+ content_tag_for_single_record(tag_name, single_record, prefix, options, &block)
end.join("\n").html_safe
end
diff --git a/actionpack/test/template/record_tag_helper_test.rb b/actionpack/test/template/record_tag_helper_test.rb
index 8a9a15091050..e6ca01548387 100644
--- a/actionpack/test/template/record_tag_helper_test.rb
+++ b/actionpack/test/template/record_tag_helper_test.rb
@@ -1,6 +1,6 @@
require 'abstract_unit'
-class Post
+class RecordTagPost
extend ActiveModel::Naming
include ActiveModel::Conversion
attr_accessor :id, :body
@@ -20,77 +20,77 @@ class RecordTagHelperTest < ActionView::TestCase
def setup
super
- @post = Post.new
+ @post = RecordTagPost.new
end
def test_content_tag_for
- expected = %(
)
+ expected = %()
actual = content_tag_for(:li, @post) { }
assert_dom_equal expected, actual
end
def test_content_tag_for_prefix
- expected = %()
+ expected = %()
actual = content_tag_for(:ul, @post, :archived) { }
assert_dom_equal expected, actual
end
def test_content_tag_for_with_extra_html_options
- expected = %(
)
- actual = content_tag_for(:tr, @post, :class => "bar", :style => "background-color: #f0f0f0") { }
+ expected = %(
)
+ actual = content_tag_for(:tr, @post, :class => "special", :style => "background-color: #f0f0f0") { }
assert_dom_equal expected, actual
end
def test_content_tag_for_with_prefix_and_extra_html_options
- expected = %(
)
- actual = content_tag_for(:tr, @post, :archived, :class => "bar", :style => "background-color: #f0f0f0") { }
+ expected = %(
)
+ actual = content_tag_for(:tr, @post, :archived, :class => "special", :style => "background-color: #f0f0f0") { }
assert_dom_equal expected, actual
end
def test_block_not_in_erb_multiple_calls
- expected = %(What a wonderful world!
)
- actual = div_for(@post, :class => "bar") { @post.body }
+ expected = %(What a wonderful world!
)
+ actual = div_for(@post, :class => "special") { @post.body }
assert_dom_equal expected, actual
- actual = div_for(@post, :class => "bar") { @post.body }
+ actual = div_for(@post, :class => "special") { @post.body }
assert_dom_equal expected, actual
end
def test_block_works_with_content_tag_for_in_erb
- expected = %(What a wonderful world!
)
+ expected = %(What a wonderful world!
)
actual = render_erb("<%= content_tag_for(:tr, @post) do %><%= @post.body %><% end %>")
assert_dom_equal expected, actual
end
def test_div_for_in_erb
- expected = %(What a wonderful world!
)
- actual = render_erb("<%= div_for(@post, :class => 'bar') do %><%= @post.body %><% end %>")
+ expected = %(What a wonderful world!
)
+ actual = render_erb("<%= div_for(@post, :class => 'special') do %><%= @post.body %><% end %>")
assert_dom_equal expected, actual
end
def test_content_tag_for_collection
- post_1 = Post.new { |post| post.id = 101; post.body = "Hello!" }
- post_2 = Post.new { |post| post.id = 102; post.body = "World!" }
- expected = %(Hello!\nWorld!)
+ post_1 = RecordTagPost.new { |post| post.id = 101; post.body = "Hello!" }
+ post_2 = RecordTagPost.new { |post| post.id = 102; post.body = "World!" }
+ expected = %(Hello!\nWorld!)
actual = content_tag_for(:li, [post_1, post_2]) { |post| post.body }
assert_dom_equal expected, actual
end
def test_div_for_collection
- post_1 = Post.new { |post| post.id = 101; post.body = "Hello!" }
- post_2 = Post.new { |post| post.id = 102; post.body = "World!" }
- expected = %(Hello!
\nWorld!
)
+ post_1 = RecordTagPost.new { |post| post.id = 101; post.body = "Hello!" }
+ post_2 = RecordTagPost.new { |post| post.id = 102; post.body = "World!" }
+ expected = %(Hello!
\nWorld!
)
actual = div_for([post_1, post_2]) { |post| post.body }
assert_dom_equal expected, actual
end
def test_content_tag_for_single_record_is_html_safe
- result = div_for(@post, :class => "bar") { @post.body }
+ result = div_for(@post, :class => "special") { @post.body }
assert result.html_safe?
end
def test_content_tag_for_collection_is_html_safe
- post_1 = Post.new { |post| post.id = 101; post.body = "Hello!" }
- post_2 = Post.new { |post| post.id = 102; post.body = "World!" }
+ post_1 = RecordTagPost.new { |post| post.id = 101; post.body = "Hello!" }
+ post_2 = RecordTagPost.new { |post| post.id = 102; post.body = "World!" }
result = content_tag_for(:li, [post_1, post_2]) { |post| post.body }
assert result.html_safe?
end