Merge pull request #672 from Shopify/fix-proc-mapping

Test mapping over procs
This commit is contained in:
Guillaume Malette
2016-01-06 15:59:53 -05:00
2 changed files with 15 additions and 1 deletions
+2 -1
View File
@@ -174,7 +174,8 @@ module Liquid
if property == "to_liquid".freeze
e
elsif e.respond_to?(:[])
e[property]
r = e[property]
r.is_a?(Proc) ? r.call : r
end
end
end
+13
View File
@@ -249,6 +249,19 @@ class StandardFiltersTest < Minitest::Test
assert_template_result "testfoo", templ, "procs" => [p]
end
def test_map_over_drops_returning_procs
drops = [
{
"proc" => ->{ "foo" },
},
{
"proc" => ->{ "bar" },
},
]
templ = '{{ drops | map: "proc" }}'
assert_template_result "foobar", templ, "drops" => drops
end
def test_map_works_on_enumerables
assert_template_result "123", '{{ foo | map: "foo" }}', "foo" => TestEnumerable.new
end