Skip to content

Commit

Permalink
fix: handle windows newlines on newline_to_br and strip_newlines
Browse files Browse the repository at this point in the history
  • Loading branch information
ebobby authored and harttle committed Aug 28, 2023
1 parent fce9fcf commit 88aa63f
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/filters/html.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export function escape_once (str: string) {
}

export function newline_to_br (v: string) {
return stringify(v).replace(/\n/g, '<br />\n')
return stringify(v).replace(/\r?\n/gm, '<br />\n')
}

export function strip_html (v: string) {
Expand Down
2 changes: 1 addition & 1 deletion src/filters/string.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ export function strip (v: string, chars?: string) {
}

export function strip_newlines (v: string) {
return stringify(v).replace(/\n/g, '')
return stringify(v).replace(/\r?\n/gm, '')
}

export function capitalize (str: string) {
Expand Down
2 changes: 1 addition & 1 deletion test/integration/filters/html.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ describe('filters/html', function () {
it('should support string_with_newlines', function () {
const src = '{% capture string_with_newlines %}\n' +
'Hello\n' +
'there\n' +
'there\r\n' +
'{% endcapture %}' +
'{{ string_with_newlines | newline_to_br }}'
const dst = '<br />\n' +
Expand Down
6 changes: 6 additions & 0 deletions test/integration/filters/string.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,12 @@ describe('filters/string', function () {
'{{ string_with_newlines | strip_newlines }}',
'Hellothere')
})
it('should support strip_newlines on Windows newlines ', function () {
return test('{% capture string_with_newlines %}\n' +
'Hello\r\nthere\n{% endcapture %}' +
'{{ string_with_newlines | strip_newlines }}',
'Hellothere')
})
describe('truncate', function () {
it('should truncate when string too long', function () {
return test('{{ "Ground control to Major Tom." | truncate: 20 }}',
Expand Down

0 comments on commit 88aa63f

Please sign in to comment.