/* eslint-disable object-property-newline */ /* eslint-disable no-var */ (function testDriver() { "use strict"; var tests = [ {"exec": false, "path": "test0.html"}, {"exec": true, "path": "test1.html"}, {"exec": true, "path": "test2.html"}, {"exec": true, "path": "test3.html"}, {"exec": true, "path": "test4.html"}, {"exec": true, "path": "test5.html"}, {"exec": true, "path": "test6.html"}, {"exec": true, "path": "test7.html"}, {"exec": true, "path": "test8.html"}, {"exec": true, "path": "test9.html"}, {"exec": true, "path": "test10.html"}, {"exec": true, "path": "test11.html"}, {"exec": true, "path": "test12.html"}, {"exec": true, "path": "test13.html"}, {"exec": true, "path": "test14.html"}, {"exec": true, "path": "test15.html"}, {"exec": true, "path": "test16.html"}, {"exec": true, "path": "test17.html"}, {"exec": true, "path": "test18.html"}, {"exec": true, "path": "test19.html"}, {"exec": true, "path": "test20.html"}, {"exec": true, "path": "test21.html"}, {"exec": true, "path": "test22.html"}, {"exec": true, "path": "test23.html"}, {"exec": true, "path": "test24.html"}, {"exec": true, "path": "test25.html"}, {"exec": true, "path": "test26.html"}, {"exec": true, "path": "test27.html"}, {"exec": true, "path": "test28.html"}, {"exec": true, "path": "test29.html"}, {"exec": true, "path": "test30.html"}, {"exec": true, "path": "test31.html"}, {"exec": true, "path": "test32.html"}, {"exec": true, "path": "test33.html"}, {"exec": true, "path": "test34.html"}, {"exec": true, "path": "test35.html"}, {"exec": true, "path": "test36.html"}, {"exec": true, "path": "test37.html"}, {"exec": true, "path": "test38.html"} ]; var testframe = document.getElementById("testframe"); var currentTest = 1; var total = "passed"; /** * Add test result to the DOM * @param {string} name – Filename * @param {string} desc - Test description * @param {string} result - Result (failed or passed) */ function addTestResult(name, desc, result) { var dl = document.getElementById("testresults"); var template = document.getElementById("template").innerHTML; template = template.replace(/@file@/g, name); template = template.replace(/@desc@/, desc); template = template.replace(/@result@/g, result); dl.innerHTML += template; window.scrollBy(0, 20); } /** * Runs tests * @param {number} index - Index of the test */ function run(index) { /* eslint-disable security/detect-object-injection */ if (tests[index]) { currentTest = index; if (tests[index].exec) { window.setTimeout(function defer() { testframe.src = tests[index].path; }, 0); } else { addTestResult(tests[index].path, "omitted", "omitted"); run(index + 1); } } else { addTestResult("", navigator.userAgent, total); } /* eslint-enable security/detect-object-injection */ } window.addEventListener("message", function onMessage(e) { var msg = JSON.parse(e.data); addTestResult(tests[msg.index].path, msg.desc, msg.result); if (msg.result === "failed") { total = "failed"; } run(msg.index + 1); }, false); run(currentTest); }());