wallet-core/test/run_tests.js
Florian Dold 8d3585171f comment
2016-05-09 14:37:43 +02:00

57 lines
1.3 KiB
JavaScript

/**
* Bridge between the mocha test runner / nodejs
* and the typescript / the wallet's module system.
*
* The test cases use better-assert as assert library
* with mocha's bdd UI.
*/
"use strict";
let assert = require("better-assert");
let vm = require("vm");
let fs = require("fs");
let instrument = require("typhonjs-istanbul-instrument-jspm").default;
if ("function" !== typeof run) {
throw Error("test must be run with 'mocha --delay ...'");
}
let emsc = require("../lib/emscripten/libwrapper.js");
// Do it here, since it breaks 'require'' for libwrapper
let System = require("systemjs");
// When instrumenting code with istanbul,
// automatic module type detection fails,
// thus we specify it here manually.
System.config({
defaultJSExtensions: true,
meta: {
'./test/tests/taler.js': {
format: 'register'
},
'./lib/wallet/*': {
format: 'register'
}
}
});
instrument(System);
let mod = System.newModule({Module: emsc});
let modName = System.normalizeSync(__dirname + "/../lib/emscripten/emsc");
console.log("registering", modName);
System.set(modName, mod);
System.import("./test/tests/taler.js")
.then((t) => {
t.declareTests(assert, context, it);
setTimeout(run, 1);
})
.catch((e) => {
console.error("failed to load module", e.stack);
});