diff --git a/src/TaskSerializer/DefaultTaskSerializer.ts b/src/TaskSerializer/DefaultTaskSerializer.ts index 2a7c5ce845..e319346ff9 100644 --- a/src/TaskSerializer/DefaultTaskSerializer.ts +++ b/src/TaskSerializer/DefaultTaskSerializer.ts @@ -91,7 +91,7 @@ export const DEFAULT_SYMBOLS: DefaultTaskSerializerSymbols = { doneDateRegex: /✅ *(\d{4}-\d{2}-\d{2})$/u, cancelledDateRegex: /❌ *(\d{4}-\d{2}-\d{2})$/u, recurrenceRegex: /🔁 ?([a-zA-Z0-9, !]+)$/iu, - onCompletionRegex: /🏁 ?([a-zA-Z]+)$/iu, + onCompletionRegex: /🏁 *([a-zA-Z]+)$/iu, dependsOnRegex: new RegExp('⛔\uFE0F? *(' + taskIdSequenceRegex.source + ')$', 'iu'), idRegex: new RegExp('🆔 *(' + taskIdRegex.source + ')$', 'iu'), }, diff --git a/tests/TaskSerializer/DefaultTaskSerializer.test.ts b/tests/TaskSerializer/DefaultTaskSerializer.test.ts index c3bfe5b4cd..8014eb70a9 100644 --- a/tests/TaskSerializer/DefaultTaskSerializer.test.ts +++ b/tests/TaskSerializer/DefaultTaskSerializer.test.ts @@ -71,7 +71,7 @@ describe('validate emoji regular expressions', () => { doneDateRegex: /✅ *(\\d{4}-\\d{2}-\\d{2})$/u cancelledDateRegex: /❌ *(\\d{4}-\\d{2}-\\d{2})$/u recurrenceRegex: /🔁 ?([a-zA-Z0-9, !]+)$/iu - onCompletionRegex: /🏁 ?([a-zA-Z]+)$/iu + onCompletionRegex: /🏁 *([a-zA-Z]+)$/iu dependsOnRegex: /⛔️? *([a-zA-Z0-9-_]+( *, *[a-zA-Z0-9-_]+ *)*)$/iu idRegex: /🆔 *([a-zA-Z0-9-_]+)$/iu" `); @@ -170,10 +170,16 @@ describe.each(symbolMap)("DefaultTaskSerializer with '$taskFormat' symbols", ({ describe('should parse onCompletion', () => { it('should parse delete action', () => { - const onCompletion = `${onCompletionSymbol} delete`; + const onCompletion = `${onCompletionSymbol} Delete`; const taskDetails = deserialize(onCompletion); expect(taskDetails).toMatchTaskDetails({ onCompletion: OnCompletion.Delete }); }); + + it('should allow multiple spaces', () => { + const onCompletion = `${onCompletionSymbol} Keep`; + const taskDetails = deserialize(onCompletion); + expect(taskDetails).toMatchTaskDetails({ onCompletion: OnCompletion.Keep }); + }); }); describe('should parse depends on', () => {