fix(game-ui): 자동 화면 폭과 검색 포커스 확대를 바로잡음
Ref의 700px 자동 판정과 940px 레이아웃 경계를 연결하고 태블릿에서 1000px 모드를 선택한다. 검색 입력에는 pinch zoom을 보존하는 touch-action 계약을 적용한다.
This commit is contained in:
@@ -294,8 +294,19 @@ test('nation generals filter buttons open Ref operator menus and apply compound
|
||||
|
||||
await page.setViewportSize({ width: 500, height: 900 });
|
||||
expect(await page.locator('.general-page').evaluate((element) => element.getBoundingClientRect().width)).toBe(1000);
|
||||
const generalSearch = page.getByLabel('장수명 필터');
|
||||
await expect(generalSearch).toHaveCSS('touch-action', 'manipulation');
|
||||
const viewportContract = await page.evaluate(() => ({
|
||||
content: document.querySelector<HTMLMetaElement>('meta[name="viewport"]')?.content ?? '',
|
||||
scale: window.visualViewport?.scale ?? 1,
|
||||
}));
|
||||
expect(viewportContract.content).not.toMatch(/(?:user-scalable|minimum-scale|maximum-scale)/u);
|
||||
await generalSearch.focus();
|
||||
await expect(generalSearch).toBeFocused();
|
||||
expect(await page.evaluate(() => window.visualViewport?.scale ?? 1)).toBe(viewportContract.scale);
|
||||
await nameMenuButton.click();
|
||||
await expect(namePopup).toBeVisible();
|
||||
await expect(page.getByLabel('장수명 첫 번째 필터 값')).toHaveCSS('touch-action', 'manipulation');
|
||||
expect(await page.evaluate(() => document.documentElement.scrollWidth)).toBeGreaterThanOrEqual(1000);
|
||||
await page.screenshot({ path: testInfo.outputPath('core-mobile-filter-menu.png'), fullPage: true });
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user