56 lines
1.2 KiB
JavaScript
56 lines
1.2 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");
|
||
|
|
||
|
|
||
|
if ("function" !== typeof run) {
|
||
|
throw Error("test must be run with 'mocha --delay ...'");
|
||
|
}
|
||
|
|
||
|
console.log("typeof require (here)", typeof require);
|
||
|
|
||
|
// We might need thins in the future ...
|
||
|
global.nodeRequire = function (modulePath) {
|
||
|
return require(modulePath);
|
||
|
};
|
||
|
|
||
|
global.require = global.nodeRequire;
|
||
|
|
||
|
let data = fs.readFileSync("lib/emscripten/libwrapper.js");
|
||
|
vm.runInThisContext(data);
|
||
|
|
||
|
// Do it here, since it breaks 'require''
|
||
|
let System = require("systemjs");
|
||
|
|
||
|
System.config({
|
||
|
defaultJSExtensions: true
|
||
|
});
|
||
|
|
||
|
let mod = System.newModule({Module: Module});
|
||
|
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);
|
||
|
run();
|
||
|
})
|
||
|
.catch((e) => {
|
||
|
console.error("failed to load module", e.stack);
|
||
|
});
|
||
|
|
||
|
|