Files
vtj/packages/utils/tests/browser-patch.test.ts
“chenhuachun” c4b2d9aff1 test(base): 补充基础库及工具函数单元测试
- 为加密工具(MD5、RSA、base64、AES)添加完整加解密测试,支持中文及空字符串
- 新增日期格式化工具 dateFormat 的多种格式及类型测试
- lodash 工具函数增加类型判断、字符串转换、对象操作、深拷贝和合并等测试覆盖
- 添加 lz-string 压缩解压工具的多场景测试,含中文和特殊字符
- mitt 事件总线工具新增事件监听、触发、取消、多次触发及通配符测试
- 优化数字格式化工具 numberFormat 和 toFixed 的边界及四舍五入测试
- 添加 path-to-regexp 路径匹配及参数捕获相关测试
- Queue 队列工具新增任务顺序执行、去重、缓存及结果查询的全覆盖测试
- 增补正则校验工具(URL、邮箱、身份证、手机号、车牌)及正则常量匹配测试
- utils 包中基础工具 uid 生成唯一 ID 及版本号的测试补充
- 新增 browser-patch 中 addEventListener 补丁覆盖及调用测试
- clientInfo 工具丰富各主流浏览器、操作系统及移动设备的检测测试覆盖
- cookie 工具新增增删改查测试及多 cookie 互不影响的保证
- download 工具中 URL 下载及 Blob 下载功能测试初始化补充保证运行环境兼容性
2026-06-15 11:06:14 +08:00

32 lines
994 B
TypeScript

import { describe, it, expect, vi, beforeAll } from 'vitest';
import '../src';
describe('browser-patch', () => {
it('addEventListener 应被补丁覆盖', () => {
// 模块导入时已自动应用补丁
const descriptor = Object.getOwnPropertyDescriptor(
EventTarget.prototype,
'addEventListener'
);
// 补丁后的函数不是原生函数
expect(descriptor).toBeDefined();
});
it('addEventListener 补丁后应能正常调用', () => {
const el = document.createElement('div');
const handler = vi.fn();
// 应能正常添加事件监听
expect(() => el.addEventListener('click', handler)).not.toThrow();
el.dispatchEvent(new Event('click'));
expect(handler).toHaveBeenCalled();
});
it('addEventListener 应接收 capture 对象', () => {
const el = document.createElement('div');
const handler = vi.fn();
expect(() =>
el.addEventListener('click', handler, { passive: true })
).not.toThrow();
});
});