Allow tablerow to work with any Enumerable. Closes #132

This commit is contained in:
Dylan Smith
2012-06-20 11:07:11 -04:00
parent 6ebdded8f2
commit d0184555d9
5 changed files with 59 additions and 38 deletions
+18
View File
@@ -3,6 +3,18 @@ require 'test_helper'
class HtmlTagTest < Test::Unit::TestCase
include Liquid
class ArrayDrop < Liquid::Drop
include Enumerable
def initialize(array)
@array = array
end
def each(&block)
@array.each(&block)
end
end
def test_html_table
assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td><td class=\"col2\"> 2 </td><td class=\"col3\"> 3 </td></tr>\n<tr class=\"row2\"><td class=\"col1\"> 4 </td><td class=\"col2\"> 5 </td><td class=\"col3\"> 6 </td></tr>\n",
@@ -36,4 +48,10 @@ class HtmlTagTest < Test::Unit::TestCase
'collections' => {'frontpage' => [1,2,3,4,5,6]})
end
def test_enumerable_drop
assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td><td class=\"col2\"> 2 </td><td class=\"col3\"> 3 </td></tr>\n<tr class=\"row2\"><td class=\"col1\"> 4 </td><td class=\"col2\"> 5 </td><td class=\"col3\"> 6 </td></tr>\n",
'{% tablerow n in numbers cols:3%} {{n}} {% endtablerow %}',
'numbers' => ArrayDrop.new([1,2,3,4,5,6]))
end
end # HtmlTagTest