From 6a1180cc3c18e2441a39e46e147afd47a0b30040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Kilchenmann?= Date: Mon, 2 Aug 2021 20:57:50 +0200 Subject: [PATCH 1/2] fix(action): bug fix in linkify pipe (DSP-1836) --- .../lib/action/pipes/string-transformation/linkify.pipe.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.ts b/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.ts index 4c862f02..4df5cce0 100644 --- a/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.ts +++ b/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.ts @@ -19,7 +19,7 @@ export class LinkifyPipe implements PipeTransform { let end = ' '; if (endsWithFullStop) { str = str.slice(0, -1); - end = '.' + end = lastChar; } if (this._recognizeUrl(str)) { const url = this._setProtocol(str); @@ -28,7 +28,7 @@ export class LinkifyPipe implements PipeTransform { stylizedText += str + end; } } - return stylizedText.trim(); + return stylizedText; } else { return value; } From cca3abbc01a7202796c9810a602b5c524a6e0b8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Kilchenmann?= Date: Mon, 2 Aug 2021 21:18:23 +0200 Subject: [PATCH 2/2] test(action): more tests on linkify pipe --- .../action/pipes/string-transformation/linkify.pipe.spec.ts | 6 ++++++ .../lib/action/pipes/string-transformation/linkify.pipe.ts | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.spec.ts b/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.spec.ts index 71b052fe..076aa328 100644 --- a/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.spec.ts +++ b/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.spec.ts @@ -29,4 +29,10 @@ describe('LinkifyPipe', () => { const linkifiedSnippet = pipe.transform(text); expect(linkifiedSnippet).toEqual('You can visit the app on https://app.dasch.swiss and the documentation on docs.dasch.swiss.'); }); + + it('should keep the spaces after a full stop or after a comma', () => { + const text = 'This is just a title. And it could have an URL, but it doesn\'t have one. '; + const linkifiedSnippet = pipe.transform(text); + expect(linkifiedSnippet).toEqual('This is just a title. And it could have an URL, but it doesn\'t have one.'); + }); }); diff --git a/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.ts b/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.ts index 4df5cce0..dad8ff8a 100644 --- a/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.ts +++ b/projects/dsp-ui/src/lib/action/pipes/string-transformation/linkify.pipe.ts @@ -19,7 +19,7 @@ export class LinkifyPipe implements PipeTransform { let end = ' '; if (endsWithFullStop) { str = str.slice(0, -1); - end = lastChar; + end = lastChar + ' '; } if (this._recognizeUrl(str)) { const url = this._setProtocol(str); @@ -28,7 +28,7 @@ export class LinkifyPipe implements PipeTransform { stylizedText += str + end; } } - return stylizedText; + return stylizedText.trim(); } else { return value; }