Merge pull request #3935 from jekyll/filter-where-to_s
Merge pull request 3935
This commit is contained in:
commit
831eb17b29
|
@ -211,7 +211,7 @@ module Jekyll
|
||||||
def where(input, property, value)
|
def where(input, property, value)
|
||||||
return input unless input.is_a?(Enumerable)
|
return input unless input.is_a?(Enumerable)
|
||||||
input = input.values if input.is_a?(Hash)
|
input = input.values if input.is_a?(Hash)
|
||||||
input.select { |object| item_property(object, property) == value }
|
input.select { |object| item_property(object, property).to_s == value.to_s }
|
||||||
end
|
end
|
||||||
|
|
||||||
# Sort an array of objects
|
# Sort an array of objects
|
||||||
|
|
|
@ -277,6 +277,23 @@ class TestFilters < JekyllUnitTest
|
||||||
should "filter objects appropriately" do
|
should "filter objects appropriately" do
|
||||||
assert_equal 2, @filter.where(@array_of_objects, "color", "red").length
|
assert_equal 2, @filter.where(@array_of_objects, "color", "red").length
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "stringify during comparison for compatibility with liquid parsing" do
|
||||||
|
hash = {
|
||||||
|
"The Words" => {"rating" => 1.2, "featured" => false},
|
||||||
|
"Limitless" => {"rating" => 9.2, "featured" => true},
|
||||||
|
"Hustle" => {"rating" => 4.7, "featured" => true},
|
||||||
|
}
|
||||||
|
|
||||||
|
results = @filter.where(hash, "featured", "true")
|
||||||
|
assert_equal 2, results.length
|
||||||
|
assert_equal 9.2, results[0]["rating"]
|
||||||
|
assert_equal 4.7, results[1]["rating"]
|
||||||
|
|
||||||
|
results = @filter.where(hash, "rating", 4.7)
|
||||||
|
assert_equal 1, results.length
|
||||||
|
assert_equal 4.7, results[0]["rating"]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "sort filter" do
|
context "sort filter" do
|
||||||
|
|
Loading…
Reference in New Issue