37 lines
1014 B
JavaScript
37 lines
1014 B
JavaScript
|
// Launch the official test suite for ECMA-262
|
||
|
|
||
|
var webpage = require('webpage');
|
||
|
|
||
|
page = webpage.create();
|
||
|
page.onError = function() {};
|
||
|
|
||
|
page.open('http://test262.ecmascript.org/', function() {
|
||
|
page.evaluate(function() { $('a#run').click(); });
|
||
|
page.evaluate(function() { $('img#btnRunAll').click(); });
|
||
|
|
||
|
function monitor() {
|
||
|
|
||
|
var data = page.evaluate(function() {
|
||
|
return {
|
||
|
ran: $('#totalCounter').text(),
|
||
|
total: $('#testsToRun').text(),
|
||
|
pass: $('#Pass').text(),
|
||
|
fail: $('#Fail').text(),
|
||
|
progress: $('div#progressbar').text()
|
||
|
};
|
||
|
});
|
||
|
|
||
|
console.log('Tests: ', data.ran, 'of', data.total,
|
||
|
' Pass:', data.pass, ' Fail:', data.fail);
|
||
|
|
||
|
if (data.progress.indexOf('complete') > 0) {
|
||
|
page.render('report.png');
|
||
|
phantom.exit();
|
||
|
} else {
|
||
|
setTimeout(monitor, 1000);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
setTimeout(monitor, 0);
|
||
|
});
|