mirror of
https://github.com/kemko/liquid.git
synced 2026-01-03 16:55:40 +03:00
Merge pull request #303 from Shopify/strip_filter
Add strip, lstrip, rstrip filters
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
## 3.0.0 / not yet released / branch "master"
|
||||
|
||||
* ...
|
||||
* Add strip, lstrip, and rstrip to standard filters [Florian Weingarten, fw42]
|
||||
* Make if, for & case tags return complete and consistent nodelists, see #250 [Nick Jones, dntj]
|
||||
* Prevent arbitrary method invocation on condition objects, see #274 [Dylan Thacker-Smith, dylanahsmith]
|
||||
* Don't call to_sym when creating conditions for security reasons, see #273 [Bouke van der Bijl, bouk]
|
||||
|
||||
@@ -63,6 +63,18 @@ module Liquid
|
||||
input.split(pattern)
|
||||
end
|
||||
|
||||
def strip(input)
|
||||
input.to_s.strip
|
||||
end
|
||||
|
||||
def lstrip(input)
|
||||
input.to_s.lstrip
|
||||
end
|
||||
|
||||
def rstrip(input)
|
||||
input.to_s.rstrip
|
||||
end
|
||||
|
||||
def strip_html(input)
|
||||
input.to_s.gsub(/<script.*?<\/script>/m, '').gsub(/<!--.*?-->/m, '').gsub(/<style.*?<\/style>/m, '').gsub(/<.*?>/m, '')
|
||||
end
|
||||
|
||||
@@ -209,6 +209,21 @@ class StandardFiltersTest < Test::Unit::TestCase
|
||||
assert_template_result 'foobar', "{{ 'foo|bar' | remove: '|' }}"
|
||||
end
|
||||
|
||||
def test_strip
|
||||
assert_template_result 'ab c', "{{ source | strip }}", 'source' => " ab c "
|
||||
assert_template_result 'ab c', "{{ source | strip }}", 'source' => " \tab c \n \t"
|
||||
end
|
||||
|
||||
def test_lstrip
|
||||
assert_template_result 'ab c ', "{{ source | lstrip }}", 'source' => " ab c "
|
||||
assert_template_result "ab c \n \t", "{{ source | lstrip }}", 'source' => " \tab c \n \t"
|
||||
end
|
||||
|
||||
def test_rstrip
|
||||
assert_template_result " ab c", "{{ source | rstrip }}", 'source' => " ab c "
|
||||
assert_template_result " \tab c", "{{ source | rstrip }}", 'source' => " \tab c \n \t"
|
||||
end
|
||||
|
||||
def test_strip_newlines
|
||||
assert_template_result 'abc', "{{ source | strip_newlines }}", 'source' => "a\nb\nc"
|
||||
assert_template_result 'abc', "{{ source | strip_newlines }}", 'source' => "a\r\nb\nc"
|
||||
|
||||
Reference in New Issue
Block a user