/**
* sanitizeSkillIcon unit tests: security checks before inline rendering of a
* custom Skill icon (raw icon.svg content) — anything containing ")).toBeNull();
expect(sanitizeSkillIcon('')).toBeNull();
});
it("含事件属性(on*=)拒绝", () => {
expect(sanitizeSkillIcon('')).toBeNull();
expect(sanitizeSkillIcon('')).toBeNull();
expect(sanitizeSkillIcon('')).toBeNull();
});
it("含 foreignObject / xlink:href 拒绝", () => {
expect(sanitizeSkillIcon("")).toBeNull();
expect(sanitizeSkillIcon('')).toBeNull();
});
it("任何 href 属性拒绝(不限 xlink:,大小写不敏感,单双引号/无引号形态)", () => {
expect(
sanitizeSkillIcon(''),
).toBeNull();
expect(sanitizeSkillIcon('')).toBeNull();
expect(sanitizeSkillIcon("")).toBeNull();
expect(sanitizeSkillIcon("")).toBeNull();
expect(sanitizeSkillIcon('')).toBeNull();
});
it("路径数据里的坐标不误伤(stroke=none、d 属性带负数/小数照常放行)", () => {
const icon =
'';
expect(sanitizeSkillIcon(icon)).toBe(icon);
});
});