From c544886524405542bfcbdb872ec501558a3171c6 Mon Sep 17 00:00:00 2001 From: kolaente Date: Fri, 6 Feb 2026 09:59:31 +0100 Subject: [PATCH] test: add positive boundary tests for date parsing (#2195) --- frontend/src/modules/parseTaskText.test.ts | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/frontend/src/modules/parseTaskText.test.ts b/frontend/src/modules/parseTaskText.test.ts index 55bb16d90..2a05d743c 100644 --- a/frontend/src/modules/parseTaskText.test.ts +++ b/frontend/src/modules/parseTaskText.test.ts @@ -385,6 +385,30 @@ describe('Parse Task Text', () => { expect(result.date).toBeNull() }) }) + describe('Should still parse dates at text boundaries', () => { + const now = new Date() + now.setFullYear(2021, 5, 24) + + const boundaryTests = [ + {input: '9/11 meeting', dateStr: '2021-9-11', text: 'meeting'}, + {input: 'meeting 9/11', dateStr: '2021-9-11', text: 'meeting'}, + {input: '2021-06-24 Lorem Ipsum', dateStr: '2021-6-24', text: 'Lorem Ipsum'}, + {input: 'Lorem Ipsum 06/26/2021', dateStr: '2021-6-26', text: 'Lorem Ipsum'}, + {input: '01.02 Lorem Ipsum', dateStr: '2022-2-1', text: 'Lorem Ipsum'}, + {input: 'Lorem Ipsum 01.02', dateStr: '2022-2-1', text: 'Lorem Ipsum'}, + ] + + boundaryTests.forEach(({input, dateStr, text}) => { + it(`should parse a date from '${input}'`, () => { + const result = parseTaskText(input, PrefixMode.Default, now) + + expect(result.text.trim()).toBe(text) + const d = result.date + expect(d).not.toBeNull() + expect(`${d?.getFullYear()}-${(d?.getMonth() ?? 0) + 1}-${d?.getDate()}`).toBe(dateStr) + }) + }) + }) it('should not recognize date number with no spacing around them', () => { const result = parseTaskText('Lorem Ispum v1.1.1')