import { describe, expect, it } from 'vitest';
import { Circle } from '../Circle';
import { Ellipse } from '../Ellipse';
import { Rect } from '../Rect';
import { FabricText } from '../Text/Text';
import { FabricImage } from '../Image';
import { Shadow } from '../../Shadow';
const MALICIOUS = 'x" />';
const MALICIOUS2 = `x" onclick="alert('svg animatetransform onbegin')"`;
const ONCLICK_PAYLOAD = `onclick="alert('svg animatetransform onbegin')"`;
describe.each([MALICIOUS, MALICIOUS2])(
'Object SVG export sanitization (%s)',
(payload) => {
it('sanitizes object id attributes', () => {
const rect = new Rect({
id: payload,
width: 10,
height: 10,
});
const svg = rect.toSVG();
expect(svg).not.toContain('', {
fontFamily: `Times New Roman ${payload}`,
});
const svg = text.toSVG();
expect(svg).not.toContain('