Tauri Windows
有时您有特定于窗口的代码(例如初始屏幕窗口),因此您需要模拟不同的窗口。 您可以使用 mockWindows()
方法来创建假窗口标签。 第一个字符串标识“当前”窗口(即 JavaScript 认为自己所在的窗口),所有其他字符串被视为附加窗口。
备注
mockWindows()
只模拟实现窗口,但没有窗口属性。 要模拟窗口属性,您需要使用 mockIPC()
拦截正确的调用。
import { beforeAll, expect, test } from 'vitest';
import { randomFillSync } from 'crypto';
import { mockWindows } from '@tauri-apps/api/mocks';
// jsdom doesn't come with a WebCrypto implementation
beforeAll(() => {
Object.defineProperty(window, 'crypto', {
value: {
// @ts-ignore
getRandomValues: (buffer) => {
return randomFillSync(buffer);
},
},
});
});
test('invoke', async () => {
mockWindows('main', 'second', 'third');
const { getCurrent, getAll } = await import('@tauri-apps/api/window');
expect(getCurrent()).toHaveProperty('label', 'main');
expect(getAll().map((w) => w.label)).toEqual(['main', 'second', 'third']);
});