| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | (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 {                    results.failed++                }                results.total++                socket.emit('test-result', test)                results.tests.push(test)            } else if (msg === '# ok' || msg.match(/^# tests \d+/)){                socket.emit('all-test-results', results)            }            // return false if you want to prevent the console message from            // going to the console            // return false        }    }}())
 |