mirror of
https://gitee.com/newgateway/vtj.git
synced 2026-06-23 11:43:17 +08:00
- 为加密工具(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 下载功能测试初始化补充保证运行环境兼容性
32 lines
994 B
TypeScript
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();
|
|
});
|
|
});
|