From 75aa04a4ee9dfd08c95d0a86e6c63b798664b95c Mon Sep 17 00:00:00 2001 From: "Steven R. Loomis" Date: Mon, 29 Jan 2024 16:26:57 -0600 Subject: [PATCH] =?UTF-8?q?feat(developer):=20=20double=20markers=20once?= =?UTF-8?q?=20again=20=F0=9F=99=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - revert comment - reorder tests Fixes: #10516 --- common/web/types/src/ldml-keyboard/pattern-parser.ts | 2 +- .../types/test/ldml-keyboard/test-pattern-parser.ts | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/common/web/types/src/ldml-keyboard/pattern-parser.ts b/common/web/types/src/ldml-keyboard/pattern-parser.ts index 6ae36ab145..63e10867e8 100644 --- a/common/web/types/src/ldml-keyboard/pattern-parser.ts +++ b/common/web/types/src/ldml-keyboard/pattern-parser.ts @@ -439,7 +439,7 @@ const PARSE_REGEX_MARKER = /^\\uffff\\u0008(?:(\\u[0-9a-fA-F]{4})|(\[\\u[0-9a const graphemeSegmenter = new Intl.Segmenter(['und'], { granularity: 'grapheme' }); export interface MarkerEntry { - /** code point 'glued' to */ + /** code point 'glued' to, or MARKER_BEFORE_EOT */ ch? : string; /** marker number, 1-based */ marker? : number; diff --git a/common/web/types/test/ldml-keyboard/test-pattern-parser.ts b/common/web/types/test/ldml-keyboard/test-pattern-parser.ts index 876f03eaf6..e7dc0870ff 100644 --- a/common/web/types/test/ldml-keyboard/test-pattern-parser.ts +++ b/common/web/types/test/ldml-keyboard/test-pattern-parser.ts @@ -346,11 +346,6 @@ describe('Test of nfd_markers()', () => { // ["src", "expect", "regex"] // or ["src"] if it is expected to be unchanged - // double marker - - ["e\uffff\u0008\u0001\u0300\u0320\u0300", "e\u0320\uffff\u0008\u0001\u0300\u0300"], - // double marker - no change - ["e\u0320\uffff\u0008\u0001\u0300\u0300", "e\u0320\uffff\u0008\u0001\u0300\u0300"], - // #1 ["abc"], ["6\uffff\u0008"], @@ -384,6 +379,12 @@ describe('Test of nfd_markers()', () => { ["\u0995\uFFFF\u0008\u0001\u09CB", "\u0995\uFFFF\u0008\u0001\u09C7\u09BE"], ["\u0995\u09BE\uFFFF\u0008\u0001\u09C7"], ["\u03B5\uFFFF\u0008\u0001\u0344", "\u03B5\uFFFF\u0008\u0001\u0308\u0301"], + + // double marker - + ["e\uffff\u0008\u0001\u0300\u0320\u0300", "e\u0320\uffff\u0008\u0001\u0300\u0300"], + // double marker - no change + ["e\u0320\uffff\u0008\u0001\u0300\u0300", "e\u0320\uffff\u0008\u0001\u0300\u0300"], + ]; for (let i = 0; i < src_expect.length; i++) {