mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-12 23:40:45 -07:00
@@ -293,6 +293,19 @@ module Liquid
|
|||||||
input.split(pattern)
|
input.split(pattern)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# @liquid_public_docs
|
||||||
|
# @liquid_type filter
|
||||||
|
# @liquid_category string
|
||||||
|
# @liquid_summary
|
||||||
|
# Removes leading and trailing whitespace and collapses consecutive whitespace to a single space.
|
||||||
|
# @liquid_syntax string | squish
|
||||||
|
# @liquid_return [string]
|
||||||
|
def squish(input)
|
||||||
|
return if input.nil?
|
||||||
|
|
||||||
|
Utils.to_s(input).strip.gsub(/\s+/, ' ')
|
||||||
|
end
|
||||||
|
|
||||||
# @liquid_public_docs
|
# @liquid_public_docs
|
||||||
# @liquid_type filter
|
# @liquid_type filter
|
||||||
# @liquid_category string
|
# @liquid_category string
|
||||||
|
|||||||
@@ -164,6 +164,13 @@ class StandardFiltersTest < Minitest::Test
|
|||||||
assert_equal(['A', 'Z'], @filters.split('A1Z', 1))
|
assert_equal(['A', 'Z'], @filters.split('A1Z', 1))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_squish_filter
|
||||||
|
assert_equal("foo bar boo", Liquid::Template.parse(%Q({{ " foo bar
|
||||||
|
\t boo " | squish }})).render)
|
||||||
|
assert_equal("", Liquid::Template.parse('{{ nil | squish }}').render)
|
||||||
|
assert_equal("", Liquid::Template.parse('{{ " " | squish }}').render)
|
||||||
|
end
|
||||||
|
|
||||||
def test_escape
|
def test_escape
|
||||||
assert_equal('<strong>', @filters.escape('<strong>'))
|
assert_equal('<strong>', @filters.escape('<strong>'))
|
||||||
assert_equal('1', @filters.escape(1))
|
assert_equal('1', @filters.escape(1))
|
||||||
|
|||||||
Reference in New Issue
Block a user