修复预览画布快捷键测试的平台兼容

根据 navigator.platform 发送 Ctrl 或 Cmd 修饰键。

避免 Apple CI 下快捷键被正确忽略导致断言读取初始缩放值。
This commit is contained in:
2026-09-08 16:00:45 +08:00
parent 3e6fbaed9a
commit d558cfe42d
@@ -96,6 +96,12 @@ function renderedScale(container: HTMLElement) {
return Number(scale);
}
function previewZoomModifier(): KeyboardEventInit {
return /Mac|iPhone|iPad|iPod/i.test(window.navigator.platform)
? { metaKey: true }
: { ctrlKey: true };
}
beforeEach(() => {
vi.stubGlobal('ResizeObserver', TestResizeObserver);
});
@@ -116,7 +122,7 @@ describe('PreviewWorkspace quick zoom', () => {
const wasNotCancelled = fireEvent.keyDown(window, {
key: '=',
code: 'Equal',
ctrlKey: true,
...previewZoomModifier(),
cancelable: true,
});
@@ -133,7 +139,7 @@ describe('PreviewWorkspace quick zoom', () => {
expect(
fireEvent.keyDown(window, {
key: '=',
ctrlKey: true,
...previewZoomModifier(),
cancelable: true,
}),
).toBe(true);
@@ -143,7 +149,7 @@ describe('PreviewWorkspace quick zoom', () => {
expect(
fireEvent.keyDown(zoomButton, {
key: '=',
ctrlKey: true,
...previewZoomModifier(),
cancelable: true,
}),
).toBe(true);
@@ -154,7 +160,7 @@ describe('PreviewWorkspace quick zoom', () => {
fireEvent.keyDown(window, {
key: '-',
code: 'Minus',
ctrlKey: true,
...previewZoomModifier(),
cancelable: true,
});
expect(renderedScale(rendered.container)).toBeCloseTo(initial * 0.86);
@@ -168,14 +174,14 @@ describe('PreviewWorkspace quick zoom', () => {
fireEvent.focus(preview);
fireEvent.keyDown(window, {
key: '1',
ctrlKey: true,
...previewZoomModifier(),
cancelable: true,
});
expect(renderedScale(rendered.container)).toBe(1);
fireEvent.keyDown(window, {
key: '0',
ctrlKey: true,
...previewZoomModifier(),
cancelable: true,
});
expect(renderedScale(rendered.container)).toBe(fitted);
@@ -195,7 +201,7 @@ describe('PreviewWorkspace quick zoom', () => {
expect(
fireEvent.keyDown(window, {
key: '=',
ctrlKey: true,
...previewZoomModifier(),
cancelable: true,
}),
).toBe(true);