50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
const html = require('choo/html');
|
|
const assets = require('../../common/assets');
|
|
const initScript = require('../../server/initScript');
|
|
|
|
module.exports = function(app) {
|
|
app.get('/mocha.css', function(req, res) {
|
|
res.sendFile(require.resolve('mocha/mocha.css'));
|
|
});
|
|
app.get('/mocha.js', function(req, res) {
|
|
res.sendFile(require.resolve('mocha/mocha.js'));
|
|
});
|
|
app.get('/test', function(req, res) {
|
|
res.send(
|
|
html`
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<link rel="stylesheet" type="text/css" href="/mocha.css" />
|
|
<script src="/mocha.js"></script>
|
|
<script>
|
|
const reporters = mocha.constructor.reporters;
|
|
function Combo(runner) {
|
|
reporters.HTML.call(this, runner);
|
|
reporters.JSON.call(this, runner);
|
|
}
|
|
Object.setPrototypeOf(Combo.prototype, reporters.HTML.prototype);
|
|
mocha.setup({
|
|
ui: 'bdd',
|
|
reporter: Combo,
|
|
timeout: 5000
|
|
});
|
|
</script>
|
|
${initScript({
|
|
cspNonce: 'test',
|
|
locale: 'en-US'
|
|
})}
|
|
<script src="${assets.get('tests.js')}"></script>
|
|
</head>
|
|
<body>
|
|
<div id="mocha"></div>
|
|
<script>
|
|
window.runner = mocha.run();
|
|
</script>
|
|
</body>
|
|
</html>
|
|
`.toString()
|
|
);
|
|
});
|
|
};
|