mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-19 02:40:41 -07:00
Merge pull request #584 from Shopify/replace-non-string
Convert arguments to replace filters to strings to avoid exceptions.
This commit is contained in:
@@ -167,12 +167,12 @@ module Liquid
|
|||||||
|
|
||||||
# Replace occurrences of a string with another
|
# Replace occurrences of a string with another
|
||||||
def replace(input, string, replacement = ''.freeze)
|
def replace(input, string, replacement = ''.freeze)
|
||||||
input.to_s.gsub(string, replacement.to_s)
|
input.to_s.gsub(string.to_s, replacement.to_s)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Replace the first occurrences of a string with another
|
# Replace the first occurrences of a string with another
|
||||||
def replace_first(input, string, replacement = ''.freeze)
|
def replace_first(input, string, replacement = ''.freeze)
|
||||||
input.to_s.sub(string, replacement.to_s)
|
input.to_s.sub(string.to_s, replacement.to_s)
|
||||||
end
|
end
|
||||||
|
|
||||||
# remove a substring
|
# remove a substring
|
||||||
|
|||||||
@@ -268,7 +268,9 @@ class StandardFiltersTest < Minitest::Test
|
|||||||
|
|
||||||
def test_replace
|
def test_replace
|
||||||
assert_equal '2 2 2 2', @filters.replace('1 1 1 1', '1', 2)
|
assert_equal '2 2 2 2', @filters.replace('1 1 1 1', '1', 2)
|
||||||
|
assert_equal '2 2 2 2', @filters.replace('1 1 1 1', 1, 2)
|
||||||
assert_equal '2 1 1 1', @filters.replace_first('1 1 1 1', '1', 2)
|
assert_equal '2 1 1 1', @filters.replace_first('1 1 1 1', '1', 2)
|
||||||
|
assert_equal '2 1 1 1', @filters.replace_first('1 1 1 1', 1, 2)
|
||||||
assert_template_result '2 1 1 1', "{{ '1 1 1 1' | replace_first: '1', 2 }}"
|
assert_template_result '2 1 1 1', "{{ '1 1 1 1' | replace_first: '1', 2 }}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user