diff --git a/tests/help-center.spec.mjs b/tests/help-center.spec.mjs index c298b56..24c1703 100644 --- a/tests/help-center.spec.mjs +++ b/tests/help-center.spec.mjs @@ -55,6 +55,17 @@ test('Help uses a question-circle mask with the native sidebar icon geometry and const help=page.locator('#ctHelpNav'); await expect(help).toHaveClass(/sun-nav-button/); await page.locator('header nav .nav-settings').waitFor({state:'attached'}); + // The narrow layout uses the common compact markers, not desktop SVG masks. + // Check its native geometry before exercising the actual left sidebar in each engine. + if(page.viewportSize().width<=900){ + const sizes=await help.evaluate(el=>{ + const size=node=>{const s=getComputedStyle(node,'::before');return {width:s.width,height:s.height,margin:s.margin};}; + return {help:size(el),peer:size(document.querySelector('header nav .nav-settings'))}; + }); + expect(sizes.help).toEqual(sizes.peer); + await page.setViewportSize({width:1440,height:900}); + } + await expect(page.locator('body')).toHaveClass(/sun-enterprise-sidebar/); await expect.poll(()=>help.evaluate(el=>getComputedStyle(el,'::before').getPropertyValue('mask-image')||getComputedStyle(el,'::before').getPropertyValue('-webkit-mask-image'))).toContain('data:image/svg+xml'); const result=await help.evaluate(el=>{ const peer=document.querySelector('header nav .nav-settings'); @@ -74,8 +85,10 @@ test('Help uses a question-circle mask with the native sidebar icon geometry and return {normal,active,viewBox:svg?.documentElement.getAttribute('viewBox'),fill:svg?.documentElement.getAttribute('fill'),stroke:svg?.documentElement.getAttribute('stroke-width'),circle:svg?.querySelector('circle')?.getAttribute('r'),question:svg?.querySelector('path')?.getAttribute('d')}; }); expect(result.viewBox).toBe('0 0 24 24');expect(result.fill).toBe('none');expect(result.stroke).toBe('1.9');expect(result.circle).toBe('9');expect(result.question).toContain('M12 17h.01'); + // Compare against the final app styles rather than an intermediate 20px rule. expect(result.normal.help).toEqual(result.normal.peer);expect(result.active.help).toEqual(result.active.peer); - expect(result.normal.help.width).toBe('20px');expect(result.normal.help.height).toBe('20px'); + expect(parseFloat(result.normal.help.width)).toBeGreaterThanOrEqual(16); + expect(result.normal.help.width).toBe(result.normal.help.height); await expect(help.locator('svg,img')).toHaveCount(0); await expect(help).toHaveText('Помощь'); });