test: tighten selector parsing

这个提交包含在:
Zain 2026-03-20 18:50:40 +08:00
父节点 1b5bd627fe
当前提交 dc3364e7a4

查看文件

@ -190,11 +190,11 @@ describe('VirtualPreviewList pending preview mapping', () => {
.map((result) => ('cssText' in result ? (result as any).cssText : result.toString())) .map((result) => ('cssText' in result ? (result as any).cssText : result.toString()))
.join(' '); .join(' ');
const selectorBlock = (selector: string) => { const selectorBlock = (selector: string) => {
const start = staticCss.indexOf(selector); const escaped = selector.replace(/[.*+?^${}()|[\\]\\]/g, '\\$&');
expect(start, `missing ${selector}`).toBeGreaterThan(-1); const regex = new RegExp(`${escaped}\\s*\\{([^}]*)\\}`, 's');
const braceOpen = staticCss.indexOf('{', start); const match = regex.exec(staticCss);
const braceClose = staticCss.indexOf('}', braceOpen); expect(match, `missing ${selector}`).toBeTruthy();
return staticCss.slice(braceOpen + 1, braceClose); return match![1];
}; };
const oldNameDeclarations = selectorBlock('.old-name.old-name-secondary'); const oldNameDeclarations = selectorBlock('.old-name.old-name-secondary');
@ -203,6 +203,8 @@ describe('VirtualPreviewList pending preview mapping', () => {
expect(oldNameDeclarations).toContain('white-space: nowrap'); expect(oldNameDeclarations).toContain('white-space: nowrap');
const baseOldNameDeclarations = selectorBlock('.old-name'); 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('overflow: hidden');
expect(baseOldNameDeclarations).not.toContain('text-overflow: ellipsis'); expect(baseOldNameDeclarations).not.toContain('text-overflow: ellipsis');
expect(baseOldNameDeclarations).not.toContain('white-space: nowrap'); expect(baseOldNameDeclarations).not.toContain('white-space: nowrap');