修复预览画布快捷键测试的平台兼容
根据 navigator.platform 发送 Ctrl 或 Cmd 修饰键。 避免 Apple CI 下快捷键被正确忽略导致断言读取初始缩放值。
This commit is contained in:
@@ -96,6 +96,12 @@ function renderedScale(container: HTMLElement) {
|
|||||||
return Number(scale);
|
return Number(scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function previewZoomModifier(): KeyboardEventInit {
|
||||||
|
return /Mac|iPhone|iPad|iPod/i.test(window.navigator.platform)
|
||||||
|
? { metaKey: true }
|
||||||
|
: { ctrlKey: true };
|
||||||
|
}
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
vi.stubGlobal('ResizeObserver', TestResizeObserver);
|
vi.stubGlobal('ResizeObserver', TestResizeObserver);
|
||||||
});
|
});
|
||||||
@@ -116,7 +122,7 @@ describe('PreviewWorkspace quick zoom', () => {
|
|||||||
const wasNotCancelled = fireEvent.keyDown(window, {
|
const wasNotCancelled = fireEvent.keyDown(window, {
|
||||||
key: '=',
|
key: '=',
|
||||||
code: 'Equal',
|
code: 'Equal',
|
||||||
ctrlKey: true,
|
...previewZoomModifier(),
|
||||||
cancelable: true,
|
cancelable: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -133,7 +139,7 @@ describe('PreviewWorkspace quick zoom', () => {
|
|||||||
expect(
|
expect(
|
||||||
fireEvent.keyDown(window, {
|
fireEvent.keyDown(window, {
|
||||||
key: '=',
|
key: '=',
|
||||||
ctrlKey: true,
|
...previewZoomModifier(),
|
||||||
cancelable: true,
|
cancelable: true,
|
||||||
}),
|
}),
|
||||||
).toBe(true);
|
).toBe(true);
|
||||||
@@ -143,7 +149,7 @@ describe('PreviewWorkspace quick zoom', () => {
|
|||||||
expect(
|
expect(
|
||||||
fireEvent.keyDown(zoomButton, {
|
fireEvent.keyDown(zoomButton, {
|
||||||
key: '=',
|
key: '=',
|
||||||
ctrlKey: true,
|
...previewZoomModifier(),
|
||||||
cancelable: true,
|
cancelable: true,
|
||||||
}),
|
}),
|
||||||
).toBe(true);
|
).toBe(true);
|
||||||
@@ -154,7 +160,7 @@ describe('PreviewWorkspace quick zoom', () => {
|
|||||||
fireEvent.keyDown(window, {
|
fireEvent.keyDown(window, {
|
||||||
key: '-',
|
key: '-',
|
||||||
code: 'Minus',
|
code: 'Minus',
|
||||||
ctrlKey: true,
|
...previewZoomModifier(),
|
||||||
cancelable: true,
|
cancelable: true,
|
||||||
});
|
});
|
||||||
expect(renderedScale(rendered.container)).toBeCloseTo(initial * 0.86);
|
expect(renderedScale(rendered.container)).toBeCloseTo(initial * 0.86);
|
||||||
@@ -168,14 +174,14 @@ describe('PreviewWorkspace quick zoom', () => {
|
|||||||
fireEvent.focus(preview);
|
fireEvent.focus(preview);
|
||||||
fireEvent.keyDown(window, {
|
fireEvent.keyDown(window, {
|
||||||
key: '1',
|
key: '1',
|
||||||
ctrlKey: true,
|
...previewZoomModifier(),
|
||||||
cancelable: true,
|
cancelable: true,
|
||||||
});
|
});
|
||||||
expect(renderedScale(rendered.container)).toBe(1);
|
expect(renderedScale(rendered.container)).toBe(1);
|
||||||
|
|
||||||
fireEvent.keyDown(window, {
|
fireEvent.keyDown(window, {
|
||||||
key: '0',
|
key: '0',
|
||||||
ctrlKey: true,
|
...previewZoomModifier(),
|
||||||
cancelable: true,
|
cancelable: true,
|
||||||
});
|
});
|
||||||
expect(renderedScale(rendered.container)).toBe(fitted);
|
expect(renderedScale(rendered.container)).toBe(fitted);
|
||||||
@@ -195,7 +201,7 @@ describe('PreviewWorkspace quick zoom', () => {
|
|||||||
expect(
|
expect(
|
||||||
fireEvent.keyDown(window, {
|
fireEvent.keyDown(window, {
|
||||||
key: '=',
|
key: '=',
|
||||||
ctrlKey: true,
|
...previewZoomModifier(),
|
||||||
cancelable: true,
|
cancelable: true,
|
||||||
}),
|
}),
|
||||||
).toBe(true);
|
).toBe(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user