UNPKG

1.37 kBJavaScriptView Raw
1/* global phantom, slimer */
2/* eslint-disable no-console */
3
4var url = phantom.args[0];
5var page = require('webpage').create();
6
7var v = slimer.geckoVersion;
8console.log('Gecko: ' + v.major + '.' + v.minor + '.' + v.patch);
9
10page.open(url).then(function(status) {
11 if (status === 'success') {
12 page.onCallback = function(failedTests) {
13 if (failedTests.length > 0) {
14 for (var i = 0; i < failedTests.length; i++) {
15 var test = failedTests[i];
16 console.log(test.title);
17 console.error(test.errorStack);
18 console.log('');
19 }
20 console.error(failedTests.length + ' test(s) failed.');
21 } else {
22 // check for cov here
23 var coverage = page.evaluate(function() {
24 return window.__coverage__;
25 });
26
27 if (coverage) {
28 console.log('Writing coverage to coverage/coverage-rendering.json');
29 var fs = require('fs');
30 fs.write(
31 fs.workingDirectory + '/coverage/coverage-rendering.json',
32 JSON.stringify(coverage),
33 'w'
34 );
35 }
36 console.log('All tests passed.');
37 }
38
39 page.close();
40 phantom.exit(failedTests.length === 0 ? 0 : 1);
41 };
42 } else {
43 console.error('The tests could not be started. Is the server running?');
44 page.close();
45 phantom.exit(1);
46 }
47});