aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test/template
diff options
context:
space:
mode:
authorJoel Junström <joel.junstrom@oktavilla.se>2012-09-16 22:45:08 +0200
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-07-16 14:50:51 -0300
commit1f5b360466c3494267cc9aad08a19d1ace4763d8 (patch)
tree508bab4cf441376b1fac76ebe75e46fd6fee233b /actionview/test/template
parent6947e3a2b57b62e1d6bd24082faa125973bbc388 (diff)
downloadrails-1f5b360466c3494267cc9aad08a19d1ace4763d8.tar.gz
rails-1f5b360466c3494267cc9aad08a19d1ace4763d8.tar.bz2
rails-1f5b360466c3494267cc9aad08a19d1ace4763d8.zip
Added PartialIteration class used when rendering collections
The iteration object is available as the local variable "template_name_iteration" when rendering partials with collections. It gives access to the +size+ of the collection beeing iterated over, the current +index+ and two convinicence methods +first?+ and +last?+ "template_name_counter" variable is kept but is deprecated. [Joel Junström + Lucas Uyezu]
Diffstat (limited to 'actionview/test/template')
-rw-r--r--actionview/test/template/partial_iteration_test.rb31
-rw-r--r--actionview/test/template/render_test.rb2
2 files changed, 32 insertions, 1 deletions
diff --git a/actionview/test/template/partial_iteration_test.rb b/actionview/test/template/partial_iteration_test.rb
new file mode 100644
index 0000000000..3976c855ae
--- /dev/null
+++ b/actionview/test/template/partial_iteration_test.rb
@@ -0,0 +1,31 @@
+require 'abstract_unit'
+require 'action_view/partial_iteration'
+class PartialIterationTest < ActiveSupport::TestCase
+
+ def test_has_size_and_index
+ iteration = ActionView::PartialIteration.new 3, 0
+ assert_equal 0, iteration.index, "should be at the first index"
+ assert_equal 3, iteration.size, "should have the size"
+ end
+
+ def test_first_is_true_when_current_is_at_the_first_index
+ iteration = ActionView::PartialIteration.new 3, 0
+ assert iteration.first?, "first when current is 0"
+ end
+
+ def test_first_is_false_unless_current_is_at_the_first_index
+ iteration = ActionView::PartialIteration.new 3, 1
+ assert !iteration.first?, "not first when current is 1"
+ end
+
+ def test_last_is_true_when_current_is_at_the_last_index
+ iteration = ActionView::PartialIteration.new 3, 2
+ assert iteration.last?, "last when current is 2"
+ end
+
+ def test_last_is_false_unless_current_is_at_the_last_index
+ iteration = ActionView::PartialIteration.new 3, 0
+ assert !iteration.last?, "not last when current is 0"
+ end
+
+end
diff --git a/actionview/test/template/render_test.rb b/actionview/test/template/render_test.rb
index a26f20d522..c13e59d82b 100644
--- a/actionview/test/template/render_test.rb
+++ b/actionview/test/template/render_test.rb
@@ -256,7 +256,7 @@ module RenderTestCases
end
def test_render_partial_collection_without_as
- assert_equal "local_inspector,local_inspector_counter",
+ assert_equal "local_inspector,local_inspector_counter,local_inspector_iteration",
@view.render(:partial => "test/local_inspector", :collection => [ Customer.new("mary") ])
end