libxmljs
Version:
libxml bindings for v8 javascript engine
125 lines • 4.64 kB
JavaScript
"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