%PDF- %PDF-
| Direktori : /home/opti/workflow/node_modules/aws-sdk/test/browser/ |
| Current File : /home/opti/workflow/node_modules/aws-sdk/test/browser/runner.js |
var system = require('system');
function waitFor(testFx, onReady, timeOutMillis) {
var maxtimeOutMillis = timeOutMillis ? timeOutMillis : 30000,
start = new Date().getTime(),
condition = false,
interval = setInterval(function() {
if ( (new Date().getTime() - start < maxtimeOutMillis) && !condition ) {
condition = (typeof(testFx) === "string" ? eval(testFx) : testFx());
} else {
if(!condition) {
console.log("'waitFor()' timeout");
phantom.exit(1);
} else {
typeof(onReady) === "string" ? eval(onReady) : onReady();
clearInterval(interval);
}
}
}, 100);
};
var page = require('webpage').create();
page.onConsoleMessage = function(msg) {
console.log(msg);
};
page.open(system.args[1] || 'test/browser/runner.html', function(status){
if (status !== "success") {
console.log("Unable to access network");
phantom.exit();
} else {
var index = 0;
function printStatus() {
var items = page.evaluate(function() {
var symbols = document.body.querySelectorAll('.symbolSummary li');
if (!symbols) return null;
var classes = [];
for (var i = 0; i < symbols.length; i++) {
classes.push(symbols[i].className);
}
return classes;
});
if (!items) return;
for (; index < items.length; index++) {
if (items[index] === 'pending') break;
var item = '';
switch (items[index]) {
case 'skipped': item = ''; break;
case 'passed': item = '.'; break;
case 'failed': item = 'X'; break;
}
system.stdout.write(item);
}
}
var interval = setInterval(printStatus, 10);
waitFor(function(){
return page.evaluate(function(){
return document.body.querySelector('.symbolSummary .pending') === null;
});
}, function(){
clearInterval(interval);
var exitCode = page.evaluate(function(){
console.log('');
console.log('');
var list = document.body.querySelectorAll('.results > #details > .specDetail.failed');
if (list && list.length > 0) {
console.log('');
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(desc.innerText);
console.log(msg.innerText);
console.log('');
}
return 1;
} else {
console.log(document.body.querySelector('.alert > .passingAlert.bar').innerText);
return 0;
}
});
phantom.exit(exitCode);
});
}
});