mirror of
https://github.com/publiclab/image-sequencer.git
synced 2025-12-11 19:00:00 +01:00
* wasmSuccess * modules use wasmSuccess * modules use wasmSuccess * add the tooltip * add GIF support * fix imageDImensions function * fix inputCoordinatesParser function * show correct image dimensions * show correct image dimensions * don't allow save as PDF for GIFs * fix QR module * fix BlobAnalysis * fix Blur * fix Colorbar * fix Crop * fix crop defaults * fix DrawRectangle * fix EdgeDetect * fix FlipImage * fix Gradient * fix Invert * fix Overlay * fix Resize * fix Rotate * fix TextOverlay * fix parse input test * make GIFs work in nodejs * sample GIF test * small change * cleanup * cleanup * cleanup * small fix * small change * handle errors * proper error handling and fix tests * cleanup * try a fix * try another fix * fix module benchmarks * try more fixes * revert * try fixing the tests * fix overlay test * add the gif tests * remove unnecessary changes * fix tests * whoops * add some docs * inBrowser * fix all module tests Co-authored-by: Jeffrey Warren <jeff@unterbahn.com>
57 lines
2.1 KiB
JavaScript
57 lines
2.1 KiB
JavaScript
const test = require('tape'),
|
|
base64Img = require('base64-img'),
|
|
looksSame = require('looks-same');
|
|
|
|
const ImageSequencer = require('../../../src/ImageSequencer');
|
|
|
|
const red = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABlBMVEX+AAD///+KQee0AAAAAWJLR0QB/wIt3gAAAAd0SU1FB+EGHRIVAvrm6EMAAAAMSURBVAjXY2AgDQAAADAAAceqhY4AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTctMDYtMjlUMTg6MjE6MDIrMDI6MDDGD83DAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE3LTA2LTI5VDE4OjIxOjAyKzAyOjAwt1J1fwAAAABJRU5ErkJggg==';
|
|
target = 'test_outputs';
|
|
|
|
/**
|
|
* @method moduleTest
|
|
* @description a common test for modules
|
|
* @param {String} moduleName name of the module
|
|
* @param {"Object"} options module options
|
|
* @param {String} benchmark dataURI of the benchmark image
|
|
* @param {String} [input="red_image"] optional input image. Default is a red image.
|
|
*/
|
|
module.exports = (moduleName, options, benchmark, input) => {
|
|
let sequencer = ImageSequencer({ui: false});
|
|
|
|
test(`${moduleName} module loads correctly`, t => {
|
|
sequencer.loadImages(input || red);
|
|
sequencer.addSteps(moduleName, options);
|
|
|
|
t.equal(sequencer.steps[1].options.name, moduleName, `${moduleName} module is getting loaded`);
|
|
t.end();
|
|
});
|
|
|
|
test(`${moduleName} module loads with correct options`, t => {
|
|
for (const option in options) {
|
|
t.equal(sequencer.steps[1].options[option], options[option], `Option ${option} is correct`);
|
|
}
|
|
|
|
t.end();
|
|
});
|
|
|
|
test(`${moduleName} module works correctly`, t => {
|
|
sequencer.run({mode: 'test'}, () => {
|
|
let result = sequencer.steps[1].output.src;
|
|
|
|
base64Img.imgSync(result, target, `${moduleName}-result`);
|
|
base64Img.imgSync(benchmark, target, `${moduleName}-benchmark`);
|
|
|
|
result = `./test_outputs/${moduleName}-result.png`;
|
|
benchmark = `./test_outputs/${moduleName}-benchmark.png`;
|
|
|
|
looksSame(result, benchmark, function(err, res) {
|
|
if (err) console.log(err);
|
|
|
|
t.equal(res.equal, true, `${moduleName} module works correctly`);
|
|
sequencer = null;
|
|
t.end();
|
|
});
|
|
});
|
|
});
|
|
|
|
}; |