wallet-core/test/run_tests.js

57 lines
1.3 KiB
JavaScript
Raw Normal View History

/**
* 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");
2016-04-27 15:31:15 +02:00
let instrument = require("typhonjs-istanbul-instrument-jspm").default;
if ("function" !== typeof run) {
throw Error("test must be run with 'mocha --delay ...'");
}
2016-04-27 15:06:56 +02:00
let emsc = require("../lib/emscripten/libwrapper.js");
2016-04-27 15:06:56 +02:00
// Do it here, since it breaks 'require'' for libwrapper
let System = require("systemjs");
2016-04-27 15:31:15 +02:00
2016-04-27 15:43:02 +02:00
// When instrumenting code with istanbul,
// automatic module type detection fails,
// thus we specify it here manually.
System.config({
2016-04-27 15:31:15 +02:00
defaultJSExtensions: true,
meta: {
'./test/tests/taler.js': {
format: 'register'
},
'./lib/wallet/*': {
format: 'register'
}
}
});
2016-04-27 15:31:15 +02:00
instrument(System);
2016-04-27 15:06:56 +02:00
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);
2016-04-27 15:06:56 +02:00
setTimeout(run, 1);
})
.catch((e) => {
console.error("failed to load module", e.stack);
});