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)
})
})