From 9a9b792c63ab9fc59cdea511c7138aebd9df0de2 Mon Sep 17 00:00:00 2001 From: Jun Yang Date: Sat, 13 Mar 2021 17:10:44 +0800 Subject: [PATCH] fix: newline_to_br filter should output
instead of
, fixes #320 --- src/builtin/filters/html.ts | 2 +- test/e2e/issues.ts | 9 ++++++++- test/integration/builtin/filters/html.ts | 6 +++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/builtin/filters/html.ts b/src/builtin/filters/html.ts index 277a63beb..2c1e1bd20 100644 --- a/src/builtin/filters/html.ts +++ b/src/builtin/filters/html.ts @@ -28,7 +28,7 @@ export function escapeOnce (str: string) { } export function newlineToBr (v: string) { - return v.replace(/\n/g, '
') + return v.replace(/\n/g, '
\n') } export function stripHtml (v: string) { diff --git a/test/e2e/issues.ts b/test/e2e/issues.ts index 4c7c0b038..fc4184194 100644 --- a/test/e2e/issues.ts +++ b/test/e2e/issues.ts @@ -1,4 +1,4 @@ -import { Liquid } from '../..' +import { Liquid } from '../../src/liquid' import { Liquid as LiquidUMD } from '../../dist/liquid.browser.umd.js' import { expect, use } from 'chai' import * as chaiAsPromised from 'chai-as-promised' @@ -95,4 +95,11 @@ describe('Issues', function () { ) expect(html).to.equal('falsefalse') }) + it('#321 comparison for empty/nil', async () => { + const engine = new Liquid() + const html = await engine.parseAndRender( + `{{ 'a \n b \n c' | newline_to_br | split: '
' }}` + ) + expect(html).to.equal('a ,\n b ,\n c') + }) }) diff --git a/test/integration/builtin/filters/html.ts b/test/integration/builtin/filters/html.ts index 0d5442c35..f587609a6 100644 --- a/test/integration/builtin/filters/html.ts +++ b/test/integration/builtin/filters/html.ts @@ -26,9 +26,9 @@ describe('filters/html', function () { 'there\n' + '{% endcapture %}' + '{{ string_with_newlines | newline_to_br }}' - const dst = '
' + - 'Hello
' + - 'there
' + const dst = '
\n' + + 'Hello
\n' + + 'there
\n' return test(src, dst) }) })