import ava from "ava"; import { parseXmlDeclaration, decodeEntities, parseXml, } from "../lib/xml-parser"; ava("parseXmlDeclaration", (t) => { const buf = Buffer.from( '\n' ); const attrs = parseXmlDeclaration(buf); t.deepEqual(attrs, [ { name: "version", namespace: "", localName: "version", value: "1.0", }, { name: "encoding", namespace: "", localName: "encoding", value: "UTF-8", }, ]); }); ava("decodeEntities", (t) => { t.is( decodeEntities("&&<>"'>§��;"), "&&<>\"'>§𠮷;" ); }); ava("parse", (t) => { const xml = '\ni'; const parsed = parseXml(xml); t.deepEqual(parsed, { name: "root", namespace: "", localName: "root", attrs: "", text: "", bodyIndex: 0, children: [ { name: "a-b:c", namespace: "a-b", localName: "c", attrs: "", text: "", bodyIndex: 29, children: [ { name: "d", namespace: "", localName: "d", attrs: 'f="1"', text: "", bodyIndex: 42, children: [], }, { name: "h", namespace: "", localName: "h", attrs: "", text: "i", bodyIndex: 62, children: [], }, ], }, ], }); });