52e0f51917
Please see http://eslint.org/docs/rules/no-unused-vars; note that this patch purposely uses the same rule options as in `mozilla-central`, such that it fixes part of issue 7957. It wasn't, in my opinion, entirely straightforward to enable this rule compared to the already existing rules. In many cases a `var descriptiveName = ...` format was used (more or less) to document the code, and I choose to place the old variable name in a trailing comment to not lose that information. I welcome feedback on these changes, since it wasn't always entirely easy to know what changes made the most sense in every situation.
79 lines
2.0 KiB
JavaScript
79 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
var TestReporter = function(browser, appPath) {
|
|
function send(action, json, cb) {
|
|
var r = new XMLHttpRequest();
|
|
// (The POST URI is ignored atm.)
|
|
r.open('POST', action, true);
|
|
r.setRequestHeader('Content-Type', 'application/json');
|
|
r.onreadystatechange = function sendTaskResultOnreadystatechange(e) {
|
|
if (r.readyState === 4) {
|
|
// Retry until successful
|
|
if (r.status !== 200) {
|
|
send(action, json, cb);
|
|
} else {
|
|
if (cb) {
|
|
cb();
|
|
}
|
|
}
|
|
}
|
|
};
|
|
json['browser'] = browser;
|
|
r.send(JSON.stringify(json));
|
|
}
|
|
|
|
function sendInfo(message) {
|
|
send('/info', {message: message});
|
|
}
|
|
|
|
function sendResult(status, description, error) {
|
|
var message = {
|
|
status: status,
|
|
description: description
|
|
};
|
|
if (typeof error !== 'undefined') {
|
|
message['error'] = error;
|
|
}
|
|
send('/submit_task_results', message);
|
|
}
|
|
|
|
function sendQuitRequest() {
|
|
send('/tellMeToQuit?path=' + escape(appPath), {});
|
|
}
|
|
|
|
this.now = function() {
|
|
return new Date().getTime();
|
|
};
|
|
|
|
this.jasmineStarted = function(suiteInfo) {
|
|
this.runnerStartTime = this.now();
|
|
sendInfo('Started unit tests for ' + browser + '.');
|
|
};
|
|
|
|
this.suiteStarted = function(result) { };
|
|
|
|
this.specStarted = function(result) { };
|
|
|
|
this.specDone = function(result) {
|
|
if (result.failedExpectations.length === 0) {
|
|
sendResult('TEST-PASSED', result.description);
|
|
} else {
|
|
var failedMessages = '';
|
|
var items = result.failedExpectations;
|
|
for (var i = 0, ii = items.length; i < ii; i++) {
|
|
failedMessages += items[i].message + ' ';
|
|
}
|
|
sendResult('TEST-UNEXPECTED-FAIL', result.description, failedMessages);
|
|
}
|
|
};
|
|
|
|
this.suiteDone = function(result) { };
|
|
|
|
this.jasmineDone = function() {
|
|
// Give the test.py some time process any queued up requests
|
|
setTimeout(sendQuitRequest, 500);
|
|
};
|
|
};
|
|
|
|
exports.TestReporter = TestReporter;
|