You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.4 KiB
54 lines
1.4 KiB
4 years ago
|
(function () {
|
||
|
var Testem = window.Testem
|
||
|
var regex = /^((?:not )?ok) (\d+) (.+)$/
|
||
|
|
||
|
Testem.useCustomAdapter(tapAdapter)
|
||
|
|
||
|
function tapAdapter(socket){
|
||
|
var results = {
|
||
|
failed: 0
|
||
|
, passed: 0
|
||
|
, total: 0
|
||
|
, tests: []
|
||
|
}
|
||
|
|
||
|
socket.emit('tests-start')
|
||
|
|
||
|
Testem.handleConsoleMessage = function(msg){
|
||
|
var m = msg.match(regex)
|
||
|
if (m) {
|
||
|
var passed = m[1] === 'ok'
|
||
|
var test = {
|
||
|
passed: passed ? 1 : 0,
|
||
|
failed: passed ? 0 : 1,
|
||
|
total: 1,
|
||
|
id: m[2],
|
||
|
name: m[3],
|
||
|
items: []
|
||
|
}
|
||
|
|
||
|
if (passed) {
|
||
|
results.passed++
|
||
|
} else {
|
||
|
console.error("failure", m)
|
||
|
|
||
|
results.failed++
|
||
|
}
|
||
|
|
||
|
results.total++
|
||
|
|
||
|
// console.log("emitted test", test)
|
||
|
socket.emit('test-result', test)
|
||
|
results.tests.push(test)
|
||
|
} else if (msg === '# ok' || msg.match(/^# tests \d+/)){
|
||
|
// console.log("emitted all test")
|
||
|
socket.emit('all-test-results', results)
|
||
|
}
|
||
|
|
||
|
// return false if you want to prevent the console message from
|
||
|
// going to the console
|
||
|
// return false
|
||
|
}
|
||
|
}
|
||
|
}())
|