UNPKG

libxmljs

Version:

libxml bindings for v8 javascript engine

125 lines 4.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var libxml = require("../index"); module.exports.get = function (assert) { var doc = libxml.Document(); var root = doc.node("root"); var child = root.node("child"); var grandchild = child.node("grandchild"); assert.equal(child, doc.get("child")); assert.equal(grandchild, doc.get("child").get("grandchild")); assert.done(); }; module.exports.get_missing = function (assert) { var doc = libxml.Document(); var root = doc.node("root"); var missing = doc.get("missing/text()"); assert.equal(missing, undefined); assert.done(); }; module.exports.get_attr = function (assert) { var doc = libxml.Document(); var root = doc.node("root"); var child = root.node("child"); child.setAttribute("attr", "val"); var attr = child.getAttribute("attr"); assert.equal(attr, doc.get("//@attr")); assert.equal("val", doc.get("//@attr").value()); assert.equal(attr, doc.get("child").get("@attr")); assert.equal("val", doc.get("child").get("@attr").value()); doc = libxml.parseXml(doc.toString()); assert.equal("val", doc.get("//@attr").value()); assert.equal("val", doc.get("child").get("@attr").value()); assert.equal(doc.get("child"), doc.get("//@attr").node()); assert.done(); }; module.exports.get_non_nodeset = function (assert) { var doc = libxml.Document(); var root = doc.node("root"); assert.equal(true, doc.get("true()")); assert.equal(false, doc.get("false()")); assert.equal("Hello, world!", doc.get('"Hello, world!"')); assert.equal(1.23, doc.get("1.23")); assert.done(); }; module.exports.find = function (assert) { var children = []; var doc = libxml.Document(); var root = doc.node("root"); children.push(root.node("child")); children.push(root.node("child")); var results = doc.find("child"); assert.equal(2, children.length); assert.equal(2, results.length); for (var child = 0; child < children.length; ++child) { assert.equal(children[child], results[child]); } assert.done(); }; var uri = "nsuri"; var prefix = "pefname"; module.exports.namespace = { get: function (assert) { var doc = libxml.Document(); var root = doc.node("root"); var child = root.node("child"); var grandchild = child.node("grandchild"); grandchild.namespace(uri); assert.equal(child, doc.get("child")); assert.equal(grandchild, doc.get("child").get("xmlns:grandchild", uri)); assert.done(); }, find: function (assert) { var _a, _b; var children = []; var doc = libxml.Document(); var root = doc.node("root"); children.push(root.node("child")); children.push(root.node("child")); var ns = (_a = children[0]) === null || _a === void 0 ? void 0 : _a.namespace(uri); (_b = children[1]) === null || _b === void 0 ? void 0 : _b.namespace(ns); var results = doc.find("xmlns:child", uri); assert.equal(2, children.length); assert.equal(2, results.length); for (var child = 0; child < children.length; ++child) { assert.equal(children[child], results[child]); } assert.done(); }, }; module.exports.prefixed_namespace = { get: function (assert) { var doc = libxml.Document(); var root = doc.node("root"); var child = root.node("child"); var grandchild = child.node("grandchild"); grandchild.namespace(prefix, uri); assert.equal(child, doc.get("child")); var ns_params = { pefname: uri, }; assert.equal(grandchild, doc.get("child").get("pefname:grandchild", ns_params)); assert.done(); }, find: function (assert) { var _a, _b; var children = []; var doc = libxml.Document(); var root = doc.node("root"); children.push(root.node("child")); children.push(root.node("child")); var ns = (_a = children[0]) === null || _a === void 0 ? void 0 : _a.namespace(prefix, uri); (_b = children[1]) === null || _b === void 0 ? void 0 : _b.namespace(ns); var ns_params = { pefname: uri, }; var results = doc.find("pefname:child", ns_params); assert.equal(2, children.length); assert.equal(2, results.length); for (var child = 0; child < children.length; ++child) { assert.equal(children[child], results[child]); } assert.done(); }, }; //# sourceMappingURL=searching.js.map