tap(tape) wrapper for testing adobe extendscript
The estktap
function takes 4 arguments:
estktap(message, jsx_script_path, is_a, targets)
-
message
String: Description -
jsx_script_path
String: Path to script to test -
is_a
Number, String, Boolean, Function: Comparitor -
targets
Array: (Optional) List of targets
version number needs to be specified in targets
[indesign-7.0,indesign-11]
see versions.json
- myfn.jsx
Myfn = this.Myfn || {};
// return Document page length
Myfn.count = function(doc){
if(doc.hasOwnProperty("pages")){
return doc.pages.length
}else{
return undefined
}
};
// add new Page to Document
Myfn.add = function(doc){
if(doc instanceof Document){
doc.pages.add();
}
return doc;
};
- test.jsx (for testing myfn.jsx)
#target InDesign-7.0
#include "../myfn.jsx"
var doc = (app.documents.length===0)? app.documents.add() : app.activeDocument;
$.write(Myfn.count(doc)===1); // must
You should append
$.write(xxx)
at end in extendscript code for the test, because it uses tap test as output.
- test.js (for running test.js)
var test = require('tape'),
estktap = require('estktap');
test('this is adobe extendscript tap test',function(t){
estktap('this must be true',__dirname+'/test/fixtures/test/test.jsx',true);
t.end();
});
$ node test.js
or
$ tape test.js
See example.js