mirror of
https://github.com/publiclab/image-sequencer.git
synced 2025-12-13 03:40:03 +01:00
Additional Testing
This commit is contained in:
@@ -7,7 +7,9 @@ node_js:
|
||||
- '8'
|
||||
env:
|
||||
- CXX=g++-4.8
|
||||
script: npm test
|
||||
script:
|
||||
- npm test
|
||||
- grunt build
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
|
||||
16
dist/image-sequencer.js
vendored
16
dist/image-sequencer.js
vendored
@@ -34810,15 +34810,15 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
// else if (options.imageUrl) loadImage(imageUrl);
|
||||
|
||||
function addSteps(){
|
||||
thiss = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
const this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
args = (this.name == "ImageSequencer")?[]:[this.images];
|
||||
json_q = {};
|
||||
for(arg in arguments){args.push(copy(arguments[arg]));}
|
||||
json_q = formatInput.call(thiss,args,"+");
|
||||
json_q = formatInput.call(this_,args,"+");
|
||||
|
||||
for (i in json_q)
|
||||
for (j in json_q[i])
|
||||
require("./AddStep")(thiss,i,json_q[i][j].name,json_q[i][j].o);
|
||||
require("./AddStep")(this_,i,json_q[i][j].name,json_q[i][j].o);
|
||||
|
||||
return this;
|
||||
}
|
||||
@@ -34834,7 +34834,7 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
|
||||
function removeSteps(image,index) {
|
||||
run = {};
|
||||
this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
const this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
args = (this.name == "ImageSequencer")?[]:[this.images];
|
||||
for(arg in arguments) args.push(copy(arguments[arg]));
|
||||
json_q = formatInput.call(this_,args,"-");
|
||||
@@ -34851,7 +34851,7 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
|
||||
function insertSteps(image, index, name, o) {
|
||||
run = {};
|
||||
this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
const this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
args = (this.name == "ImageSequencer")?[]:[this.images];
|
||||
for (arg in arguments) args.push(arguments[arg]);
|
||||
|
||||
@@ -34870,7 +34870,7 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
|
||||
function run(t_image,t_from) {
|
||||
log('\x1b[32m%s\x1b[0m',"Running the Sequencer!");
|
||||
this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
const this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
args = (this.name == "ImageSequencer")?[]:[this.images];
|
||||
for (var arg in arguments) args.push(copy(arguments[arg]));
|
||||
callback = function() {};
|
||||
@@ -34909,7 +34909,7 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
|
||||
function replaceImage(selector,steps,options) {
|
||||
options = options || {};
|
||||
require('./ReplaceImage')(this,selector,steps);
|
||||
return require('./ReplaceImage')(this,selector,steps);
|
||||
}
|
||||
|
||||
return {
|
||||
@@ -35027,7 +35027,7 @@ module.exports = {
|
||||
|
||||
},{"./modules/DoNothing":122,"./modules/DoNothingPix":123,"./modules/GreenChannel":124,"./modules/Invert":125,"./modules/NdviRed":126}],120:[function(require,module,exports){
|
||||
function ReplaceImage(ref,selector,steps,options) {
|
||||
if(!ref.options.inBrowser) return; // This isn't for Node.js
|
||||
if(!ref.options.inBrowser) return false; // This isn't for Node.js
|
||||
this_ = ref;
|
||||
var input = document.querySelectorAll(selector);
|
||||
var images = [];
|
||||
|
||||
@@ -48,15 +48,15 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
// else if (options.imageUrl) loadImage(imageUrl);
|
||||
|
||||
function addSteps(){
|
||||
thiss = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
const this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
args = (this.name == "ImageSequencer")?[]:[this.images];
|
||||
json_q = {};
|
||||
for(arg in arguments){args.push(copy(arguments[arg]));}
|
||||
json_q = formatInput.call(thiss,args,"+");
|
||||
json_q = formatInput.call(this_,args,"+");
|
||||
|
||||
for (i in json_q)
|
||||
for (j in json_q[i])
|
||||
require("./AddStep")(thiss,i,json_q[i][j].name,json_q[i][j].o);
|
||||
require("./AddStep")(this_,i,json_q[i][j].name,json_q[i][j].o);
|
||||
|
||||
return this;
|
||||
}
|
||||
@@ -72,7 +72,7 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
|
||||
function removeSteps(image,index) {
|
||||
run = {};
|
||||
this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
const this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
args = (this.name == "ImageSequencer")?[]:[this.images];
|
||||
for(arg in arguments) args.push(copy(arguments[arg]));
|
||||
json_q = formatInput.call(this_,args,"-");
|
||||
@@ -89,7 +89,7 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
|
||||
function insertSteps(image, index, name, o) {
|
||||
run = {};
|
||||
this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
const this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
args = (this.name == "ImageSequencer")?[]:[this.images];
|
||||
for (arg in arguments) args.push(arguments[arg]);
|
||||
|
||||
@@ -108,7 +108,7 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
|
||||
function run(t_image,t_from) {
|
||||
log('\x1b[32m%s\x1b[0m',"Running the Sequencer!");
|
||||
this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
const this_ = (this.name == "ImageSequencer")?this:this.sequencer;
|
||||
args = (this.name == "ImageSequencer")?[]:[this.images];
|
||||
for (var arg in arguments) args.push(copy(arguments[arg]));
|
||||
callback = function() {};
|
||||
@@ -147,7 +147,7 @@ ImageSequencer = function ImageSequencer(options) {
|
||||
|
||||
function replaceImage(selector,steps,options) {
|
||||
options = options || {};
|
||||
require('./ReplaceImage')(this,selector,steps);
|
||||
return require('./ReplaceImage')(this,selector,steps);
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
function ReplaceImage(ref,selector,steps,options) {
|
||||
if(!ref.options.inBrowser) return; // This isn't for Node.js
|
||||
if(!ref.options.inBrowser) return false; // This isn't for Node.js
|
||||
this_ = ref;
|
||||
var input = document.querySelectorAll(selector);
|
||||
var images = [];
|
||||
|
||||
76
test/chain.js
Normal file
76
test/chain.js
Normal file
@@ -0,0 +1,76 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs');
|
||||
var test = require('tape');
|
||||
|
||||
// We should only test headless code here.
|
||||
// http://stackoverflow.com/questions/21358015/error-jquery-requires-a-window-with-a-document#25622933
|
||||
|
||||
require('../src/ImageSequencer.js');
|
||||
|
||||
var sequencer = ImageSequencer({ ui: "none" });
|
||||
var red = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAQABADASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAABgj/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCdABykX//Z";
|
||||
|
||||
test('loadImages/loadImage has a name generator.', function (t){
|
||||
sequencer.loadImage(red);
|
||||
t.equal(sequencer.images.image1.steps.length, 1, "It Does!");
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('loadImages/loadImage returns a wrapper.', function (t){
|
||||
var returnval = sequencer.loadImage(red);
|
||||
t.equal(returnval.name,"ImageSequencer Wrapper", "It Does!");
|
||||
t.equal(returnval.images[0],"image2");
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('addSteps is two-way chainable.', function (t){
|
||||
var returnval = sequencer.loadImage(red).addSteps('invert');
|
||||
t.equal(returnval.name,"ImageSequencer Wrapper");
|
||||
t.equal(returnval.images[0],"image3");
|
||||
t.equal(sequencer.images.image3.steps.length,2);
|
||||
t.equal(sequencer.images.image3.steps[1].options.name,"invert");
|
||||
t.equal(sequencer.images.image2.steps.length,1);
|
||||
t.equal(sequencer.images.image1.steps.length,1);
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('addSteps is two-way chainable without loadImages.', function (t){
|
||||
var returnval = sequencer.addSteps("image3","ndvi-red");
|
||||
t.equal(returnval.name,"ImageSequencer");
|
||||
t.equal(sequencer.images.image3.steps.length,3);
|
||||
t.equal(sequencer.images.image3.steps[2].options.name,"ndvi-red");
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('removeSteps is two-way chainable.', function (t){
|
||||
var returnval = sequencer.loadImage(red).addSteps('invert').removeSteps(1);
|
||||
t.equal(returnval.name,"ImageSequencer Wrapper");
|
||||
t.equal(returnval.images[0],"image4");
|
||||
t.equal(sequencer.images.image4.steps.length,1);
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('removeSteps is two-way chainable without loadImages.', function (t){
|
||||
var returnval = sequencer.removeSteps("image3",1);
|
||||
t.equal(returnval.name,"ImageSequencer");
|
||||
t.equal(sequencer.images.image3.steps.length,2);
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('insertSteps is two-way chainable.', function (t){
|
||||
var returnval = sequencer.loadImage(red).insertSteps(1,'invert');
|
||||
t.equal(returnval.name,"ImageSequencer Wrapper");
|
||||
t.equal(returnval.images[0],"image5");
|
||||
t.equal(sequencer.images.image5.steps.length,2);
|
||||
t.equal(sequencer.images.image5.steps[1].options.name,"invert");
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('insertSteps is two-way chainable without loadImages.', function (t){
|
||||
var returnval = sequencer.insertSteps("image5",1,"ndvi-red");
|
||||
t.equal(returnval.name,"ImageSequencer");
|
||||
t.equal(sequencer.images.image5.steps.length,3);
|
||||
t.equal(sequencer.images.image5.steps[1].options.name,"ndvi-red");
|
||||
t.end();
|
||||
});
|
||||
@@ -9,18 +9,37 @@ var test = require('tape');
|
||||
require('../src/ImageSequencer.js');
|
||||
|
||||
var sequencer = ImageSequencer({ ui: "none" });
|
||||
var red = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAQABADASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAABgj/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCdABykX//Z";
|
||||
|
||||
test('Image Sequencer has tests', function (t) {
|
||||
t.equal(true, true);
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('loadImages loads an image and creates a step.', function (t){
|
||||
sequencer.loadImages('test','examples/red.jpg');
|
||||
test('loadImages loads a DataURL image and creates a step.', function (t){
|
||||
sequencer.loadImages('test',red);
|
||||
t.equal(sequencer.images.test.steps.length, 1, "It Does!");
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('loadImages loads a PATH image and creates a step. (NodeJS)', function (t){
|
||||
if(sequencer.options.inBrowser){
|
||||
t.equal("not applicable","not applicable");
|
||||
t.end();
|
||||
}
|
||||
else {
|
||||
sequencer.loadImages(red);
|
||||
t.equal(sequencer.images.test.steps.length, 1, "It Does!");
|
||||
t.end();
|
||||
}
|
||||
});
|
||||
|
||||
test('loadImage works too.', function (t){
|
||||
sequencer.loadImage('test2',red);
|
||||
t.equal(sequencer.images.test2.steps.length, 1, "It Does!");
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('addSteps("image","name") adds a step', function (t) {
|
||||
sequencer.addSteps('test','do-nothing');
|
||||
t.equal(sequencer.images.test.steps[1].options.name, "do-nothing");
|
||||
@@ -104,9 +123,15 @@ test('insertSteps({image: {index: index, name: "module", o: options} }) inserts
|
||||
});
|
||||
|
||||
test('run() runs the sequencer and returns output to callback', function (t) {
|
||||
sequencer.run(function(out){
|
||||
sequencer.run('test',function(out){
|
||||
t.equal(typeof(sequencer.images.test.steps[sequencer.images.test.steps.length - 1].output), "object", "It Does!");
|
||||
t.equal(out,sequencer.images.test.steps[sequencer.images.test.steps.length - 1].output.src, "It Does!");
|
||||
});
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('replaceImage returns false in NodeJS', function (t) {
|
||||
var returnvalue = sequencer.replaceImage("#selector","test");
|
||||
t.equal(returnvalue,false);
|
||||
t.end();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user