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: [] } ] } ] }); });