mirror of
https://github.com/Shopify/liquid.git
synced 2026-10-02 16:45:12 -07:00
Merge pull request #267 from djreimer/default-filter
Add default filter to standard filters
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
## 3.0.0 / not yet released / branch "master"
|
## 3.0.0 / not yet released / branch "master"
|
||||||
|
|
||||||
* ...
|
* ...
|
||||||
|
* Add default filter to standard filters, see #267 [Derrick Reimer, djreimer]
|
||||||
* Add optional strict parsing and warn parsing, see #235 [Tristan Hume, trishume]
|
* Add optional strict parsing and warn parsing, see #235 [Tristan Hume, trishume]
|
||||||
* Add I18n syntax error translation, see #241 [Simon Hørup Eskildsen, Sirupsen]
|
* Add I18n syntax error translation, see #241 [Simon Hørup Eskildsen, Sirupsen]
|
||||||
* Make sort filter work on enumerable drops, see #239 [Florian Weingarten, fw42]
|
* Make sort filter work on enumerable drops, see #239 [Florian Weingarten, fw42]
|
||||||
|
|||||||
@@ -245,6 +245,11 @@ module Liquid
|
|||||||
apply_operation(input, operand, :%)
|
apply_operation(input, operand, :%)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def default(input, default_value = "")
|
||||||
|
is_blank = input.respond_to?(:empty?) ? input.empty? : !input
|
||||||
|
is_blank ? default_value : input
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def flatten_if_necessary(input)
|
def flatten_if_necessary(input)
|
||||||
|
|||||||
@@ -274,6 +274,15 @@ class StandardFiltersTest < Test::Unit::TestCase
|
|||||||
assert_template_result('abc',"{{ a | prepend: b}}",assigns)
|
assert_template_result('abc',"{{ a | prepend: b}}",assigns)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_default
|
||||||
|
assert_equal "foo", @filters.default("foo", "bar")
|
||||||
|
assert_equal "bar", @filters.default(nil, "bar")
|
||||||
|
assert_equal "bar", @filters.default("", "bar")
|
||||||
|
assert_equal "bar", @filters.default(false, "bar")
|
||||||
|
assert_equal "bar", @filters.default([], "bar")
|
||||||
|
assert_equal "bar", @filters.default({}, "bar")
|
||||||
|
end
|
||||||
|
|
||||||
def test_cannot_access_private_methods
|
def test_cannot_access_private_methods
|
||||||
assert_template_result('a',"{{ 'a' | to_number }}")
|
assert_template_result('a',"{{ 'a' | to_number }}")
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user