Files
popsu_html2print/static/lib/Hyphenopoly-master/testsuite/testdriver.js
T
2019-07-06 13:25:00 +02:00

100 lines
3.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* 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);
}());