@schukai/monster
Version:
Monster is a simple library for creating fast, robust and lightweight websites.
91 lines (76 loc) • 3.44 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Mocha Monster</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="mocha.css"/>
</head>
<body>
<div id="headline" style="display: flex;align-items: center;justify-content: center;flex-direction: column;">
<h1 style='margin-bottom: 0.1em;'>Monster 4.128.2</h1>
<div id="lastupdate" style='font-size:0.7em'>last update Do 26. Mär 19:17:38 CET 2026</div>
</div>
<div id="mocha-errors"
style="color: red;font-weight: bold;display: flex;align-items: center;justify-content: center;flex-direction: column;margin:20px;"></div>
<div id="mocha-done"
style="color: grey;font-weight: bold;display: flex;align-items: center;justify-content: center;flex-direction: column;margin:20px;"></div>
<div id="mocks" style="position: absolute;right: 0;top: -1000px;"></div>
<div id="mocha"></div>
<script src="mocha.js?"></script>
<script>
mocha.setup('bdd');
</script>
<script src="tests.js?r=21:36:59"></script>
<script>
try {
const ignoredBrowserErrorMessages = new Set([
"ResizeObserver loop completed with undelivered notifications.",
"ResizeObserver loop limit exceeded",
]);
const isIgnoredBrowserError = (message, error) => {
const normalizedMessage = typeof message === "string" && message !== ""
? message
: error?.message;
return ignoredBrowserErrorMessages.has(normalizedMessage);
};
addEventListener("error", (event) => {
if (isIgnoredBrowserError(event.message, event.error)) {
event.preventDefault?.();
return;
}
document.getElementById('mocha-errors').insertAdjacentHTML("afterbegin", event.message);
document.getElementById('mocha-stats').style.backgroundColor = 'red';
});
let runner = mocha.run((failures) => {
if (failures) {
document.getElementById('mocha-stats').style.backgroundColor = 'red';
} else {
document.getElementById('mocha-stats').style.backgroundColor = 'green';
}
});
const mochaOnError = window.onerror;
if (typeof mochaOnError === "function") {
window.onerror = function(message, source, line, column, error) {
if (isIgnoredBrowserError(message, error)) {
return true;
}
return mochaOnError.call(this, message, source, line, column, error);
};
}
runner.on('end', function () {
document.getElementById('mocha-done').insertAdjacentHTML("afterbegin", 'the execution is done');
document.getElementById('lastupdate').innerHTML = 'last update ' + new Date();
});
runner.on('fail', function () {
document.querySelector('body').insertAdjacentHTML("afterbegin", '<div style="color: red;">error</div>');
document.getElementById('lastupdate').innerHTML = 'last update ' + new Date();
});
} catch (e) {
document.querySelector('body').insertAdjacentHTML("afterbegin", '<div style="color: red;">' + e + '</div>');
console.error(e);
document.getElementById('mocha-stats').style.backgroundColor = 'red';
}
</script>
</body>
</html>