From dc3364e7a42d5b9bfaca5d70de20c066541050c0 Mon Sep 17 00:00:00 2001 From: Zain Date: Fri, 20 Mar 2026 18:50:40 +0800 Subject: [PATCH] test: tighten selector parsing --- tests/unit/virtual-preview-list.test.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/unit/virtual-preview-list.test.ts b/tests/unit/virtual-preview-list.test.ts index 73fc276..38bbd81 100644 --- a/tests/unit/virtual-preview-list.test.ts +++ b/tests/unit/virtual-preview-list.test.ts @@ -190,11 +190,11 @@ describe('VirtualPreviewList pending preview mapping', () => { .map((result) => ('cssText' in result ? (result as any).cssText : result.toString())) .join(' '); const selectorBlock = (selector: string) => { - const start = staticCss.indexOf(selector); - expect(start, `missing ${selector}`).toBeGreaterThan(-1); - const braceOpen = staticCss.indexOf('{', start); - const braceClose = staticCss.indexOf('}', braceOpen); - return staticCss.slice(braceOpen + 1, braceClose); + const escaped = selector.replace(/[.*+?^${}()|[\\]\\]/g, '\\$&'); + const regex = new RegExp(`${escaped}\\s*\\{([^}]*)\\}`, 's'); + const match = regex.exec(staticCss); + expect(match, `missing ${selector}`).toBeTruthy(); + return match![1]; }; const oldNameDeclarations = selectorBlock('.old-name.old-name-secondary'); @@ -203,6 +203,8 @@ describe('VirtualPreviewList pending preview mapping', () => { expect(oldNameDeclarations).toContain('white-space: nowrap'); const baseOldNameDeclarations = selectorBlock('.old-name'); + expect(baseOldNameDeclarations).toContain('font-size: 12px'); + expect(baseOldNameDeclarations).toContain('color: var(--cdr-text-secondary, #595959)'); expect(baseOldNameDeclarations).not.toContain('overflow: hidden'); expect(baseOldNameDeclarations).not.toContain('text-overflow: ellipsis'); expect(baseOldNameDeclarations).not.toContain('white-space: nowrap');