const tap = require("tap"); const canvasRenderer = require("canvas-renderer"); const iconTest = require("./icons"); // The user might have modified the native object prototypes. // It should not break Jdenticon. Object.prototype.somethingOdd = function() {}; Object.prototype.nothing = null; Object.prototype.anEmptyObject = {}; function testNode(jdenticon) { tap.test("jdenticon.version", t => { t.match(jdenticon.version, /^\d+(\.\d+)*$/); t.end(); }); tap.test("jdenticon.configure", t => { t.doesNotThrow(() => jdenticon.configure({ backColor: "#fff" })); t.end(); }); tap.test("jdenticon.drawIcon", t => { t.doesNotThrow(() => jdenticon.drawIcon(canvasRenderer.createCanvas(100, 100).getContext("2d"), "Icon1", 100)); t.end(); }); tap.test("jdenticon.toPng", t => { t.type(jdenticon.toPng("Icon1", 100), Buffer); iconTest(jdenticon); t.end(); }); tap.test("jdenticon.toSvg", t => { t.match(jdenticon.toSvg("Icon1", 100), /^ { t.throws(() => jdenticon.update(), "jdenticon.update() is not supported on Node.js."); t.throws(() => jdenticon.updateCanvas(), "jdenticon.updateCanvas() is not supported on Node.js."); t.throws(() => jdenticon.updateSvg(), "jdenticon.updateSvg() is not supported on Node.js."); t.end(); }); } module.exports = testNode;