<!doctype html> <html> <head> <title>Browser Test Host</title> <script src="/testlib/selenium/esprima.js"></script> <script src="/testlib/selenium/escodegen.browser.js"></script> <script src="/testlib/selenium/instrumenter.js"></script> <!-- for instrumentation to work, we have to use the non-csp version --> <script src="/testlib/selenium/system.js"></script> </head> <body> <script> document.body.appendChild(document.createTextNode(`starting test`)); document.body.appendChild(document.createElement("br")); var requestCoverage = false; let parser = document.createElement('a'); let oldTranslate = System.translate.bind(System); System.translate = (load) => { let srcP = oldTranslate(load); if (!requestCoverage) { return srcP; } parser.href = load.name; let modName = parser.pathname.substring(1); if (/.*\/?taler-emscripten-lib.js/.test(load.name)) { // don't instrument emscripten document.body.appendChild(document.createTextNode(`not instrumenting ${modName}`)); document.body.appendChild(document.createElement("br")); return srcP; } let inst = new Instrumenter(); document.body.appendChild(document.createTextNode(`instrumenting ${modName}`)); document.body.appendChild(document.createElement("br")); return Promise.resolve(srcP).then((src) => { return inst.instrumentSync(src, modName); }); } System.config({ baseURL: "/", defaultJSExtensions: true, meta: { "lib/emscripten/taler-emscripten-lib": { format: "global", exports: "Module", }, }, }); </script> </body> </html>