import { escapeXml } from './xml.util';
import { xmlFixtures } from '@test-fixtures/common/xml.fixture';

describe('escapeXml', () => {
  it('escapes XML special characters', () => {
    expect(escapeXml(xmlFixtures.specialCharsInput)).toBe(
      xmlFixtures.specialCharsExpected,
    );
  });

  it('returns empty string for nullish input', () => {
    expect(escapeXml(xmlFixtures.nullInput)).toBe('');
    expect(escapeXml(xmlFixtures.undefinedInput)).toBe('');
  });

  it('stringifies non-string values', () => {
    expect(escapeXml(xmlFixtures.numberInput)).toBe(xmlFixtures.numberExpected);
  });
});
