Skip to content

Commit e5ede8b

Browse files
committed
Bump js-reporters version and update jasmine patch
1 parent 87f4392 commit e5ede8b

File tree

7 files changed

+30
-30
lines changed

7 files changed

+30
-30
lines changed

bin/cli.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ function runTests(config, callback) {
382382
logger.trace('runTests: creating tunnel');
383383
tunnel = new Tunnel(config.key, serverPort, config.tunnelIdentifier, config, function (err) {
384384
if(err) {
385-
cleanUpAndExit(null, err, {}, callback);
385+
cleanUpAndExit(null, err, [], callback);
386386
} else {
387387
logger.trace('runTests: created tunnel');
388388

bin/runner.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,22 @@ try {
2626
config = require(config_path);
2727
} catch (e) {
2828
if (e.code === 'MODULE_NOT_FOUND') {
29-
console.err('Configuration file `browserstack.json` is missing.');
29+
console.error('Configuration file `browserstack.json` is missing.');
3030
throw new Error('Configuration file `browserstack.json` is missing.');
3131
} else {
32-
console.err('Invalid configuration in `browserstack.json` file');
33-
console.err(e.message);
34-
console.err(e.stack);
32+
console.error('Invalid configuration in `browserstack.json` file');
33+
console.error(e.message);
34+
console.error(e.stack);
3535
throw new Error('Invalid configuration in `browserstack.json` file');
3636
}
3737
}
3838

3939
var runner = require('./cli.js');
4040
runner.run(config, function(err) {
4141
if(err) {
42-
console.err(err);
43-
console.err(err.stack);
44-
console.err('Invalid Command');
42+
console.error(err);
43+
console.error(err.stack);
44+
console.error('Invalid Command');
4545
process.exit(1);
4646
}
4747
process.exit(0);

lib/_patch/browserstack.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
if (req.readyState==4)
2424
cb(req.responseText);
2525
};
26-
var data = "data=" + encodeURIComponent(JSON.stringify(json));
26+
var data = JSON.stringify(json);
2727
req.open("POST", url, true);
2828
req.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
2929
req.setRequestHeader('X-Browser-String', BrowserStack.browser_string);
3030
req.setRequestHeader('X-Worker-UUID', BrowserStack.worker_uuid);
31-
req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
31+
req.setRequestHeader('Content-type', 'application/json');
3232
req.send(data);
3333
}
3434

lib/_patch/reporter.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
throw new Error('JsReporters: No testing framework was found');
1212
}
1313

14-
runner.on('testEnd', function(test) {
14+
runner.on('testEnd', function(eachTest) {
1515
BrowserStack.post("/_progress", {
16-
test: test
17-
});
16+
'test': eachTest
17+
}, function() {});
1818
});
1919

2020
runner.on('runEnd', function(globalSuite) {

lib/server.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,6 @@ exports.Server = function Server(bsClient, workers, config, callback) {
154154
}
155155
}
156156

157-
function parseBody(body) {
158-
// TODO: Have better implementation
159-
return JSON.parse(qs.parse(body).data.escapeSpecialChars());
160-
}
161-
162157
function formatTraceback(details) {
163158
var output = '"' + details.testName + '" failed';
164159
if(details.error) {
@@ -243,18 +238,18 @@ exports.Server = function Server(bsClient, workers, config, callback) {
243238
var query = null;
244239

245240
try {
246-
query = parseBody(body);
241+
query = JSON.parse(body);
247242
} catch(e) {
248243
logger.info('[%s] Exception in parsing log', worker.string);
249244
logger.info('[%s] Log: ' + qs.parse(body).data, worker.string);
250245
}
251246

252-
var browserReport = getBrowserReport(browserInfo);
253-
browserReport.tests.push(query.test || {});
254-
255247
logger.trace('[%s] _progress', worker.id, JSON.stringify(query));
256248

257249
if (query && query.test && query.test.errors) {
250+
var browserReport = getBrowserReport(browserInfo);
251+
browserReport.tests.push(query.test || {});
252+
258253
query.test.errors.forEach(function(error) {
259254
logger.info('[%s] ' + chalk.red('Error:'), browserInfo, formatTraceback({
260255
error: error,
@@ -280,7 +275,7 @@ exports.Server = function Server(bsClient, workers, config, callback) {
280275

281276
var query = null;
282277
try {
283-
query = parseBody(body);
278+
query = JSON.parse(body);
284279
} catch (e) {}
285280

286281
logger.trace('[%s] _report', worker.id, JSON.stringify(query));
@@ -291,8 +286,13 @@ exports.Server = function Server(bsClient, workers, config, callback) {
291286
var browserReport = getBrowserReport(browserInfo);
292287
browserReport.suites = query;
293288

294-
if(query.testCounts) {
295-
var color = query.status === 'failed' ? 'red' : 'green';
289+
var color;
290+
if(config['test_framework'] === 'jasmine') {
291+
color = ( query.total !== query.passed ) ? 'red' : 'green';
292+
logger.info('[%s] ' + chalk[color](( query.total !== query.passed ) ? 'Failed:' : 'Passed:') + ' %d tests, %d passed, %d failed; ran for %dms', browserInfo, query.total, query.passed, query.failed, query.runtime);
293+
config.status += query.failed;
294+
} else if(query.testCounts) {
295+
color = query.status === 'failed' ? 'red' : 'green';
296296
logger.info('[%s] ' + chalk[color](query.status === 'failed' ? 'Failed:' : 'Passed:') + ' %d tests, %d passed, %d failed, %d skipped; ran for %dms', browserInfo, query.testCounts.total, query.testCounts.passed, query.testCounts.failed, query.testCounts.skipped, query.runtime);
297297
config.status += query.testCounts.failed;
298298
}
@@ -347,7 +347,7 @@ exports.Server = function Server(bsClient, workers, config, callback) {
347347
},
348348
'_log': function logHandler(uri, body, request, response) {
349349
var uuid = getWorkerUuid(request);
350-
var query = parseBody(body);
350+
var query = body;
351351
logger.trace('[%s] _log', ((uuid && workers[uuid]) || {}).id, query);
352352

353353
var logged = false;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"dependencies": {
1111
"browserstack": "1.3.0",
1212
"chalk": "0.4.0",
13-
"js-reporters": "^1.0.0",
13+
"js-reporters": "^1.1.0",
1414
"mime": "1.3.4",
1515
"send": "0.13.0",
1616
"tunnel": "0.0.3"

tests/external-tests.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,9 @@ var repositories = [
9696
'test/browser/opts.html'
9797
],
9898
expected_results: {
99-
tests: 94,
100-
passed: 80,
101-
failed: 14
99+
tests: 86,
100+
passed: 78,
101+
failed: 8
102102
}
103103
},
104104
{

0 commit comments

Comments
 (0)