From 3cae09b9680ec923de66082cd21c288552f67981 Mon Sep 17 00:00:00 2001
From: Unending <54435202+Unending@users.noreply.github.com>
Date: Sat, 16 Jan 2021 13:44:47 +0100
Subject: [PATCH] handle carriage return in newlines_to_br
---
lib/liquid/standardfilters.rb | 2 +-
test/integration/standard_filter_test.rb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb
index 0f4c914..f24a19a 100644
--- a/lib/liquid/standardfilters.rb
+++ b/lib/liquid/standardfilters.rb
@@ -295,7 +295,7 @@ module Liquid
# Add
tags in front of all newlines in input string
def newline_to_br(input)
- input.to_s.gsub(/\n/, "
\n")
+ input.to_s.gsub(/\r?\n/, "
\n")
end
# Reformat a date using Ruby's core Time#strftime( string ) -> string
diff --git a/test/integration/standard_filter_test.rb b/test/integration/standard_filter_test.rb
index 6f66bc5..b0d768b 100644
--- a/test/integration/standard_filter_test.rb
+++ b/test/integration/standard_filter_test.rb
@@ -539,6 +539,7 @@ class StandardFiltersTest < Minitest::Test
def test_newlines_to_br
assert_template_result("a
\nb
\nc", "{{ source | newline_to_br }}", 'source' => "a\nb\nc")
+ assert_template_result("a
\nb
\nc", "{{ source | newline_to_br }}", 'source' => "a\r\nb\nc")
end
def test_plus