123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /* 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);
- }());
|