This commit is contained in:
David Štaleker
2024-02-23 12:56:54 +01:00
parent 18bac3de1c
commit 28d1630749
1388 changed files with 558637 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
const debounce = require('utilise/debounce')
, escape = require('utilise/escape')
, noop = require('utilise/noop')
, raw = require('utilise/raw')
, to = require('utilise/to')
, core = require('rijs.core')
, data = require('rijs.data')
, sync = require('rijs.sync')
const ripple = sync(data(core()))
, con = window.console
, log = con ? Function.prototype.bind.call(con.log, con) : noop
var html = ''
, running = true
, failures = 0
, passes = 0
, tests = 0
, name = 'All Tests'
, output = raw('pre')
// send tests-starting signal
ripple.send('results', 'SAVE', {
stats: { running }
, suites: []
, html: 'Test in progress..'
})
// proxy errors back to terminal
// window.onerror = (message, url, linenumber) =>
// ripple.io.emit('global err', message, url, linenumber)
// proxy console logs back to terminal
;['log', 'info', 'warn', 'error', 'debug'].map(m => {
if (!con || !con[m]) return; // ie
const sup = Function.prototype.bind.call(con[m], con)
window.console[m] = function(){
const args = to.arr(arguments)
// ripple.io.emit('console', m, args.map(d => d))
sup.apply && sup.apply(con, arguments)
}
})
// stream results back
var update = debounce(500)(function(){
const stats = { running, tests, passes, failures }
, suites = [{ name, failures, total: tests }]
output.innerHTML = html
ripple.send('results', 'SAVE', { stats, suites, html })
})
// listen on log
;(window.console = window.console || {}).log = function(){
const line = to.arr(arguments).join(' ')
html += escape(line) + '\n'
if (-1 === includes('# tests')(line)) running = false
if (-1 === includes('ok ')(line)) { passes++; tests++ }
if (-1 === includes('not ok ')(line)) { failures++; tests++ }
if (line.match(/^(?!.*\[ri\/)/)) update()
log.apply(console, arguments)
}