module.exports = function Dynamic(options, UI, util) { // Tests for functions that are available inside modules only var output; // This function is called on every draw. function draw(input, callback) { var step = this; if (this.getPreviousStep().options.name != "invert") throw new Error("getPreviousStep not working"); if (this.getNextStep().options.name != "invert") throw new Error("getNextStep not working"); if (this.getInput(0) != this.getOutput(-1)) throw new Error("getInput and getOuput now working") if (this.getFormat() != "jpeg") throw new Error("getFormat not working"); if (this.getOptions().name != "test") throw new Error("getOptions not working"); this.setOptions({ name: "test-1" }); if (this.getOptions().name != "test-1") throw new Error("setOptions not working not working"); this.getHeight(((h) => { if (h != 16) throw new Error("getHeight not working") })); this.getWidth((w) => { if (w != 16) throw new Error("getWidth not working") }); function output(image, datauri, mimetype) { step.output = input; } } return { options: options, draw: draw, output: output, UI: UI } }