run-jasmine example: Ensure exit code is always returned.

https://github.com/ariya/phantomjs/pull/12486
2.0
Marcel Duran 2014-08-20 15:49:18 -07:00 committed by Ariya Hidayat
parent 1e7829db97
commit 3be7005a17
1 changed files with 25 additions and 20 deletions

View File

@ -50,8 +50,8 @@ page.onConsoleMessage = function(msg) {
page.open(system.args[1], function(status){ page.open(system.args[1], function(status){
if (status !== "success") { if (status !== "success") {
console.log("Unable to access network"); console.log("Unable to open " + system.args[1]);
phantom.exit(); phantom.exit(1);
} else { } else {
waitFor(function(){ waitFor(function(){
return page.evaluate(function(){ return page.evaluate(function(){
@ -59,25 +59,30 @@ page.open(system.args[1], function(status){
}); });
}, function(){ }, function(){
var exitCode = page.evaluate(function(){ var exitCode = page.evaluate(function(){
console.log(''); try {
console.log(document.body.querySelector('.description').innerText); console.log('');
var list = document.body.querySelectorAll('.results > #details > .specDetail.failed'); console.log(document.body.querySelector('.description').innerText);
if (list && list.length > 0) { var list = document.body.querySelectorAll('.results > #details > .specDetail.failed');
console.log(''); if (list && list.length > 0) {
console.log(list.length + ' test(s) FAILED:');
for (i = 0; i < list.length; ++i) {
var el = list[i],
desc = el.querySelector('.description'),
msg = el.querySelector('.resultMessage.fail');
console.log(''); console.log('');
console.log(desc.innerText); console.log(list.length + ' test(s) FAILED:');
console.log(msg.innerText); for (i = 0; i < list.length; ++i) {
console.log(''); var el = list[i],
} desc = el.querySelector('.description'),
return 1; msg = el.querySelector('.resultMessage.fail');
} else { console.log('');
console.log(document.body.querySelector('.alert > .passingAlert.bar').innerText); console.log(desc.innerText);
return 0; console.log(msg.innerText);
console.log('');
}
return 1;
} else {
console.log(document.body.querySelector('.alert > .passingAlert.bar').innerText);
return 0;
}
} catch (ex) {
console.log(ex);
return 1;
} }
}); });
phantom.exit(exitCode); phantom.exit(exitCode);