]> git.proxmox.com Git - mirror_novnc.git/blame - tests/karma-test-main.js
Stop transpiling karma tests
[mirror_novnc.git] / tests / karma-test-main.js
CommitLineData
2b5f94fa
JD
1const TEST_REGEXP = /test\..*\.js/;
2const allTestFiles = [];
3const extraFiles = ['/base/tests/assertions.js'];
dfae3209
SR
4
5Object.keys(window.__karma__.files).forEach(function (file) {
6 if (TEST_REGEXP.test(file)) {
7 // TODO: normalize?
8 allTestFiles.push(file);
9 }
10});
11
7bcdbbc6
PO
12// Stub out mocha's start function so we can run it once we're done loading
13mocha.origRun = mocha.run;
14mocha.run = function () {};
15
16let script;
17
18// Script to import all our tests
19script = document.createElement("script");
20script.type = "module";
21script.text = "";
22let allModules = allTestFiles.concat(extraFiles);
23allModules.forEach(function (file) {
24 script.text += "import \"" + file + "\";\n";
dfae3209 25});
7bcdbbc6
PO
26script.text += "\nmocha.origRun();\n";
27document.body.appendChild(script);
28
29// Fallback code for browsers that don't support modules (IE)
30script = document.createElement("script");
31script.type = "module";
32script.text = "window._noVNC_has_module_support = true;\n";
33document.body.appendChild(script);
34
35function fallback() {
36 if (!window._noVNC_has_module_support) {
37 /* eslint-disable no-console */
38 if (console)
39 console.log("No module support detected. Loading fallback...");
40 /* eslint-enable no-console */
41 let loader = document.createElement("script");
42 loader.src = "base/vendor/browser-es-module-loader/dist/browser-es-module-loader.js";
43 document.body.appendChild(loader);
44 }
45}
46
47setTimeout(fallback, 500);