Compare commits

...
Author SHA1 Message Date
Ian Ker-Seymer 678d947144 Always return boolean in has filter 2025-04-08 11:35:25 -04:00
3 changed files with 8 additions and 2 deletions
+1 -1
View File
@@ -460,7 +460,7 @@ module Liquid
# @liquid_syntax array | has: string, string
# @liquid_return [boolean]
def has(input, property, target_value = nil)
filter_array(input, property, target_value, false) { |ary, &block| ary.any?(&block) }
filter_array(input, property, target_value, false) { |ary, &block| ary.any?(&block) } || false
end
# @liquid_public_docs
+1 -1
View File
@@ -2,5 +2,5 @@
# frozen_string_literal: true
module Liquid
VERSION = "5.8.3"
VERSION = "5.8.4"
end
+6
View File
@@ -977,6 +977,12 @@ class StandardFiltersTest < Minitest::Test
assert_template_result(expected_output, template, { "array" => array })
end
def test_has_with_boolean_input
template = "Result: {{a0 | has: a1, a2}}"
assert_template_result("Result: false", template, { "a0" => false })
end
def test_has_with_false_value_when_does_not_have_it
array = [
{ "handle" => "alpha", "ok" => true },