34 lines
936 B
JavaScript
34 lines
936 B
JavaScript
|
var page = require('webpage').create()
|
||
|
page.open('http://localhost:1234', function() {
|
||
|
|
||
|
function f() {
|
||
|
setTimeout(function () {
|
||
|
var clsName = page.evaluate(function() {
|
||
|
var el = document.getElementById('tests')
|
||
|
return el.className
|
||
|
})
|
||
|
if (!clsName.match(/sink-done/)) f()
|
||
|
else {
|
||
|
var count = 0
|
||
|
var fail = page.evaluate(function () {
|
||
|
var t = ''
|
||
|
var els = document.querySelectorAll('ol#tests .fail .fail')
|
||
|
for (var i = 0; i < els.length; i++) {
|
||
|
t += els[i].textContent + '\n'
|
||
|
}
|
||
|
return {text: t, count: els.length}
|
||
|
})
|
||
|
var pass = !!clsName.match(/sink-pass/)
|
||
|
if (pass) console.log('All tests have passed!')
|
||
|
else {
|
||
|
console.log(fail.count + ' test(s) failed')
|
||
|
console.log(fail.text.trim())
|
||
|
}
|
||
|
|
||
|
phantom.exit(pass ? 0 : 1)
|
||
|
}
|
||
|
}, 10)
|
||
|
}
|
||
|
f()
|
||
|
})
|