import test from "node:test"; import assert from "node:assert"; import { parseXmlDeclaration, decodeEntities, parseXml, } from "../lib/xml-parser.ts"; void test("parseXmlDeclaration", () => { const buf = Buffer.from( '\n', ); const attrs = parseXmlDeclaration(buf); assert.deepStrictEqual(attrs, [ { name: "version", namespace: "", localName: "version", value: "1.0", }, { name: "encoding", namespace: "", localName: "encoding", value: "UTF-8", }, ]); }); void test("decodeEntities", () => { assert.strictEqual( decodeEntities("&&<>"'>§��;"), "&&<>\"'>§𠮷;", ); }); void test("parse", () => { const xml = '\ni'; const parsed = parseXml(xml); assert.deepStrictEqual(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: [], }, ], }, ], }); });