From 0e23b64b632355b377e16586b71a018eb86db1e1 Mon Sep 17 00:00:00 2001 From: Nicolas Constant Date: Wed, 2 Sep 2020 18:43:04 -0400 Subject: [PATCH] fix first status count --- .../create-status.component.spec.ts | 17 +++++++++++++++++ .../create-status/create-status.component.ts | 13 ++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/app/components/create-status/create-status.component.spec.ts b/src/app/components/create-status/create-status.component.spec.ts index d8b56d4e..c5cf53e3 100644 --- a/src/app/components/create-status/create-status.component.spec.ts +++ b/src/app/components/create-status/create-status.component.spec.ts @@ -164,6 +164,23 @@ describe('CreateStatusComponent', () => { expect(result.length).toBe(1); }); + it('should cound URL correctly', () => { + const newLine = String.fromCharCode(13, 10); + const status = `qsddq sqd qsd qsdqs dqsd qsd qsd qsd qsd qsd qsd qsd qsd qs dqsd qsd qsd qsd qsd qsddq sqd qsd qsdqs dqsd qsd qsd qsd qsd qsd qsd https://google.com/testqsdqsdqsdqsdqsdqsdqsdqdqsdqsdqsdqsdqs dsqd qsd qsd dsqdqs dqs dqsd qsd qsd qsd qsd qsd qs dqsdsq qsd qsd qs dsqds qqs d dqs dqs dqs dqqsd qsd qsd qsd sqd qsd qsd sqd qds dsqd qsddq sqd qsd qsdqs dqsd qsd qsd qsd qsd qsd qsd qsd qsd qs dqsd qsd qsd qsd qsd qsddq sqd qsd qsdqs dqsd qsd qsd qsd qsd qsd qsd dsqd qsd qsd dsqdqs fqd dsq sq dsq qsd q qsd qsd qs dqs dqs qsd qsd qss sq ss s`; + + (component).maxCharLength = 500; + (component).countStatusChar(status); + expect((component).charCountLeft).toBe(0); + }); + + it('should cound URL correctly - new lines', () => { + const status = `qsddq sqd qsd qsdqs dqsd qsd qsd qsd qsd qsd qsd qsd qsd qs dqsd qsd qsd qsd qsd qsddq sqd qsd qsdqs dqsd qsd qsd qsd qsd qsd qsd\nhttps://google.com/testqsdqsdqsdqsdqsdqsdqsdqdqsdqsdqsdqsdqs\ndsqd qsd qsd dsqdqs dqs dqsd qsd qsd qsd qsd qsd qs dqsdsq qsd qsd qs dsqds qqs d dqs dqs dqs dqqsd qsd qsd qsd sqd qsd qsd sqd qds dsqd qsddq sqd qsd qsdqs dqsd qsd qsd qsd qsd qsd qsd qsd qsd qs dqsd qsd qsd qsd qsd qsddq sqd qsd qsdqs dqsd qsd qsd qsd qsd qsd qsd dsqd qsd qsd dsqdqs fqd dsq sq dsq qsd q qsd qsd qs dqs dqs qsd qsd qss sq ss s`; + + (component).maxCharLength = 500; + (component).countStatusChar(status); + expect((component).charCountLeft).toBe(0); + }); + it('should add alias in multiposting replies', () => { const status = '@Lorem@ipsum.com ipsum dolor sit amet, consectetur adipiscing elit. Mauris sed ante id dolor vulputate pulvinar sit amet a nisl. Duis sagittis nisl sit amet est rhoncus rutrum. Duis aliquet eget erat nec molestie. Fusce bibendum consectetur rhoncus. Aenean vel neque ac diam hendrerit interdum id a nisl. Aenean leo ante, luctus eget erat at, interdum tincidunt turpis. Donec non efficitur magna. Nam placerat convallis tincidunt. Etiam ac scelerisque velit, at vestibulum turpis. In hac habitasse platea dictu0'; (component).maxCharLength = 500; diff --git a/src/app/components/create-status/create-status.component.ts b/src/app/components/create-status/create-status.component.ts index 7b89e30a..6d708748 100644 --- a/src/app/components/create-status/create-status.component.ts +++ b/src/app/components/create-status/create-status.component.ts @@ -474,8 +474,8 @@ export class CreateStatusComponent implements OnInit, OnDestroy { } const currentStatus = parseStatus[parseStatus.length - 1]; - const statusExtraChars = this.getMentionExtraChars(status); - const linksExtraChars = this.getLinksExtraChars(status); + const statusExtraChars = this.getMentionExtraChars(currentStatus); + const linksExtraChars = this.getLinksExtraChars(currentStatus); const statusLength = [...currentStatus].length - statusExtraChars - linksExtraChars; this.charCountLeft = this.maxCharLength - statusLength - this.getCwLength(); @@ -634,7 +634,10 @@ export class CreateStatusComponent implements OnInit, OnDestroy { } private parseStatus(status: string): string[] { + //console.error(status.toString()); + let mentionExtraChars = this.getMentionExtraChars(status); + let urlExtraChar = this.getLinksExtraChars(status); let trucatedStatus = `${status}`; let results = []; @@ -644,7 +647,7 @@ export class CreateStatusComponent implements OnInit, OnDestroy { aggregateMention += `${x} `; }); - const currentMaxCharLength = this.maxCharLength + mentionExtraChars - this.getCwLength(); + const currentMaxCharLength = this.maxCharLength + mentionExtraChars + urlExtraChar - this.getCwLength(); const maxChars = currentMaxCharLength - 6; while (trucatedStatus.length > currentMaxCharLength) { @@ -658,6 +661,10 @@ export class CreateStatusComponent implements OnInit, OnDestroy { trucatedStatus = aggregateMention + trucatedStatus.substr(nextIndex + 1); } results.push(trucatedStatus); + + console.warn(`this.maxCharLength ${this.maxCharLength}`) + console.warn(results); + return results; }