
package.test.unit.htmldomapi.ts Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of snabbdom Show documentation
Show all versions of snabbdom Show documentation
A virtual DOM library with focus on simplicity, modularity, powerful features and performance.
The newest version!
import { assert } from "chai";
import { init, h, attributesModule } from "../../src/index";
const patch = init([attributesModule]);
describe("svg", function () {
let elm: any, vnode0: any;
beforeEach(function () {
elm = document.createElement("svg");
vnode0 = elm;
});
it("removes child svg elements", function () {
const a = h("svg", {}, [h("g"), h("g")]);
const b = h("svg", {}, [h("g")]);
const result = patch(patch(vnode0, a), b).elm as SVGElement;
assert.strictEqual(result.childNodes.length, 1);
});
it("adds correctly xlink namespaced attribute", function () {
const xlinkNS = "http://www.w3.org/1999/xlink";
const testUrl = "/test";
const a = h("svg", {}, [
h(
"use",
{
attrs: { "xlink:href": testUrl },
},
[]
),
]);
const result = patch(vnode0, a).elm as SVGElement;
assert.strictEqual(result.childNodes.length, 1);
const child = result.childNodes[0] as SVGUseElement;
assert.strictEqual(child.getAttribute("xlink:href"), testUrl);
assert.strictEqual(child.getAttributeNS(xlinkNS, "href"), testUrl);
});
it("adds correctly xml namespaced attribute", function () {
const xmlNS = "http://www.w3.org/XML/1998/namespace";
const testAttrValue = "und";
const a = h("svg", { attrs: { "xml:lang": testAttrValue } }, []);
const result = patch(vnode0, a).elm as SVGElement;
assert.strictEqual(result.getAttributeNS(xmlNS, "lang"), testAttrValue);
assert.strictEqual(result.getAttribute("xml:lang"), testAttrValue);
});
});
© 2015 - 2025 Weber Informatics LLC | Privacy Policy