48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
|
const html = require('choo/html');
|
||
|
const assets = require('../../common/assets');
|
||
|
|
||
|
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
|
||
|
})
|
||
|
</script>
|
||
|
<script src="/jsconfig.js"></script>
|
||
|
<script src="${assets.get('runtime.js')}"></script>
|
||
|
<script src="${assets.get('vendor.js')}"></script>
|
||
|
<script src="${assets.get('tests.js')}"></script>
|
||
|
</head>
|
||
|
<body>
|
||
|
<div id="mocha"></div>
|
||
|
<script>
|
||
|
mocha.checkLeaks();
|
||
|
const runner = mocha.run();
|
||
|
</script>
|
||
|
</body>
|
||
|
</html>
|
||
|
`.toString()
|
||
|
);
|
||
|
});
|
||
|
};
|