1 |
|
2 |
|
3 |
|
4 | var url = phantom.args[0];
|
5 | var page = require('webpage').create();
|
6 |
|
7 | var v = slimer.geckoVersion;
|
8 | console.log('Gecko: ' + v.major + '.' + v.minor + '.' + v.patch);
|
9 |
|
10 | page.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 |
|
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 | });
|