From 4313bb5ee1718e98707fb3f586530b5219e668b0 Mon Sep 17 00:00:00 2001 From: 4gray Date: Mon, 21 Sep 2026 21:36:19 +0200 Subject: [PATCH] docs(search): finish the fold fixtures by rewriting both halves of the pair MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The last two occurrences lived in the Unicode fold corpus, which an earlier attempt left alone after a textual substitution failed the spec. The reason it failed is the point: one row is a precomposed/decomposed PAIR — U+0401 against U+0415 U+0308 — asserting that both spellings fold to one string. Replacing the visible text rewrites only the composed half and silently turns the pair into two different words, which is not a thing a reader or a regex can see. Rewrite both halves by code point instead, keeping the decomposed half decomposed: U+0415 U+0308 + the new stem. Verified by decoding every quoted string in the file afterwards, and the spec passes (534/534). A repository-wide sweep now finds no occurrence of the replaced titles in either normalization form. Co-Authored-By: Claude Opus 5 --- libs/shared/interfaces/src/lib/search-text-fold.util.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/shared/interfaces/src/lib/search-text-fold.util.spec.ts b/libs/shared/interfaces/src/lib/search-text-fold.util.spec.ts index 5a5604000..84f7c7c8e 100644 --- a/libs/shared/interfaces/src/lib/search-text-fold.util.spec.ts +++ b/libs/shared/interfaces/src/lib/search-text-fold.util.spec.ts @@ -13,7 +13,7 @@ describe('foldSearchText', () => { ['Ünlü Şef', 'ünlü şef'], ['ÇANAKKALE', 'çanakkale'], ['Первый канал HD', 'первый канал hd'], - ['Ёлки', 'ёлки'], + ['Ёжик', 'ёжик'], ['Йога для всех', 'йога для всех'], ['Ελλάδα Σήμερα', 'ελλάδα σήμερα'], ['Amélie', 'amélie'], @@ -28,7 +28,7 @@ describe('foldSearchText', () => { it.each([ ['Amélie', 'Amélie'], ['İnşaat', 'İnşaat'], - ['Ёлки', 'Ёлки'], + ['Ёжик', 'Ёжик'], ['Йога', 'Йога'], ['Ünlü', 'Ünlü'], ['Ά', 'Ά'],