diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-01-18 00:26:17 -0200 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-01-18 00:46:01 -0200 |
commit | 8470fc9902b97a5341d3afc5cab1a361d21e52de (patch) | |
tree | b271da1f5ff7e0feb15e465906a86b7643bc4092 | |
parent | b64b7d09c0331e04304c4b6c49f5c314f414475f (diff) | |
download | rails-8470fc9902b97a5341d3afc5cab1a361d21e52de.tar.gz rails-8470fc9902b97a5341d3afc5cab1a361d21e52de.tar.bz2 rails-8470fc9902b97a5341d3afc5cab1a361d21e52de.zip |
Fix errors when running entire suite due to class name collision
The Post class is created everywhere in the test suite, and due to that
when applying the Array() logic to refactor content_tag_for, some other
change to the Post class was breaking record tag tests.
The solution is to rename the class to not collide with others
already defined in the test suite.
-rw-r--r-- | actionpack/lib/action_view/helpers/record_tag_helper.rb | 4 | ||||
-rw-r--r-- | actionpack/test/template/record_tag_helper_test.rb | 46 |
2 files changed, 25 insertions, 25 deletions
diff --git a/actionpack/lib/action_view/helpers/record_tag_helper.rb b/actionpack/lib/action_view/helpers/record_tag_helper.rb index 4cd5fa2ad1..1a15459406 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 @@ module ActionView 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 8a9a150910..e6ca015483 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 = %(<li class="post" id="post_45"></li>) + expected = %(<li class="record_tag_post" id="record_tag_post_45"></li>) actual = content_tag_for(:li, @post) { } assert_dom_equal expected, actual end def test_content_tag_for_prefix - expected = %(<ul class="archived_post" id="archived_post_45"></ul>) + expected = %(<ul class="archived_record_tag_post" id="archived_record_tag_post_45"></ul>) actual = content_tag_for(:ul, @post, :archived) { } assert_dom_equal expected, actual end def test_content_tag_for_with_extra_html_options - expected = %(<tr class="post bar" id="post_45" style='background-color: #f0f0f0'></tr>) - actual = content_tag_for(:tr, @post, :class => "bar", :style => "background-color: #f0f0f0") { } + expected = %(<tr class="record_tag_post special" id="record_tag_post_45" style='background-color: #f0f0f0'></tr>) + 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 = %(<tr class="archived_post bar" id="archived_post_45" style='background-color: #f0f0f0'></tr>) - actual = content_tag_for(:tr, @post, :archived, :class => "bar", :style => "background-color: #f0f0f0") { } + expected = %(<tr class="archived_record_tag_post special" id="archived_record_tag_post_45" style='background-color: #f0f0f0'></tr>) + 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 = %(<div class="post bar" id="post_45">What a wonderful world!</div>) - actual = div_for(@post, :class => "bar") { @post.body } + expected = %(<div class="record_tag_post special" id="record_tag_post_45">What a wonderful world!</div>) + 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 = %(<tr class="post" id="post_45">What a wonderful world!</tr>) + expected = %(<tr class="record_tag_post" id="record_tag_post_45">What a wonderful world!</tr>) 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 = %(<div class="post bar" id="post_45">What a wonderful world!</div>) - actual = render_erb("<%= div_for(@post, :class => 'bar') do %><%= @post.body %><% end %>") + expected = %(<div class="record_tag_post special" id="record_tag_post_45">What a wonderful world!</div>) + 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 = %(<li class="post" id="post_101">Hello!</li>\n<li class="post" id="post_102">World!</li>) + post_1 = RecordTagPost.new { |post| post.id = 101; post.body = "Hello!" } + post_2 = RecordTagPost.new { |post| post.id = 102; post.body = "World!" } + expected = %(<li class="record_tag_post" id="record_tag_post_101">Hello!</li>\n<li class="record_tag_post" id="record_tag_post_102">World!</li>) 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 = %(<div class="post" id="post_101">Hello!</div>\n<div class="post" id="post_102">World!</div>) + post_1 = RecordTagPost.new { |post| post.id = 101; post.body = "Hello!" } + post_2 = RecordTagPost.new { |post| post.id = 102; post.body = "World!" } + expected = %(<div class="record_tag_post" id="record_tag_post_101">Hello!</div>\n<div class="record_tag_post" id="record_tag_post_102">World!</div>) 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 |