window.test.ts 836 B

123456789101112131415161718192021222324252627282930313233
  1. import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
  2. import { openWindow } from './window'; // 假设你的函数在 'openWindow' 文件中
  3. describe('openWindow', () => {
  4. // 保存原始的 window.open 函数
  5. let originalOpen: typeof window.open;
  6. beforeEach(() => {
  7. originalOpen = window.open;
  8. });
  9. afterEach(() => {
  10. window.open = originalOpen;
  11. });
  12. it('should call window.open with correct arguments', () => {
  13. const url = 'https://example.com';
  14. const options = { noopener: true, noreferrer: true, target: '_blank' };
  15. window.open = vi.fn();
  16. // 调用函数
  17. openWindow(url, options);
  18. // 验证 window.open 是否被正确地调用
  19. expect(window.open).toHaveBeenCalledWith(
  20. url,
  21. options.target,
  22. 'noopener=yes,noreferrer=yes',
  23. );
  24. });
  25. });