Skip to content

Commit 8e721fc

Browse files
committed
load with object
1 parent 04eedfe commit 8e721fc

File tree

6 files changed

+41
-45
lines changed

6 files changed

+41
-45
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5+
## [0.8.0] - 2016-06-28
6+
- load with object
7+
58
## [0.7.0] - 2016-05-23
69
- improved console logger
710

lib/index.js

+11-9
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ var constants_1 = require('./constants');
33
var runner_process_1 = require('./runner-process');
44
var write_test_1 = require('./write-test');
55
var process_console_log_1 = require('process-console-log');
6-
function runner(testString, config, handleResult) {
6+
function runner(_a) {
7+
var testString = _a.testString, config = _a.config, handleResult = _a.handleResult;
78
write_test_1.default(testString);
89
var runner = runner_process_1.default(config);
910
var final = null;
@@ -26,14 +27,15 @@ function runner(testString, config, handleResult) {
2627
if (typeof result === 'string') {
2728
result = JSON.parse(result);
2829
}
29-
if (result.pass) {
30-
final = result.passes[result.passes.length - 1];
31-
}
32-
else if (result.pass === false) {
33-
final = result.failures[0];
34-
}
35-
else {
36-
console.log('error processing result: ', result);
30+
switch (result.pass) {
31+
case true:
32+
final = result.passes[result.passes.length - 1];
33+
break;
34+
case false:
35+
final = result.failures[0];
36+
break;
37+
default:
38+
console.log('error processing result: ', result);
3739
}
3840
final.change = final.taskPosition - config.taskPosition;
3941
final.pass = final.change > 0;

lib/reporter.js

+6-8
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,17 @@ function reporter(runner) {
88
pass: true,
99
};
1010
runner.on('pass', function (test) {
11-
var title = test.fullTitle();
12-
var obj = getIndexAndTitle(title);
11+
var index = getIndexAndTitle(test.fullTitle()).index;
1312
result.passes.push({
14-
msg: "Task " + obj.index + " Complete",
15-
taskPosition: obj.index,
13+
msg: "Task " + index + " Complete",
14+
taskPosition: index,
1615
});
1716
});
1817
runner.on('fail', function (test, err) {
19-
var title = test.fullTitle();
20-
var obj = getIndexAndTitle(title);
18+
var _a = getIndexAndTitle(test.fullTitle()), msg = _a.msg, index = _a.index;
2119
result.failures.push({
22-
msg: obj.msg,
23-
taskPosition: obj.index - 1,
20+
msg: msg,
21+
taskPosition: index - 1,
2422
timedOut: test.timedOut,
2523
});
2624
result.pass = false;

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mocha-coderoad",
3-
"version": "0.7.1",
3+
"version": "0.8.0",
44
"description": "mocha test runner & reporter for atom-coderoad",
55
"main": "lib/index.js",
66
"scripts": {

src/index.ts

+11-16
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ import runnerProcess from './runner-process';
33
import writeTest from './write-test';
44
import {parseLog} from 'process-console-log';
55

6-
export default function runner(
7-
testString: string,
8-
config: CR.Config,
9-
handleResult: (result) => CR.TestResult
10-
) {
6+
export default function runner({testString, config, handleResult}) {
117
// write tests to file
128
writeTest(testString);
139
// run tests on file
@@ -25,10 +21,8 @@ export default function runner(
2521

2622
if (!match) {
2723
try {
28-
// console.log(data);
2924
parseLog(data);
3025
} catch (e) {
31-
// console.log(data);
3226
parseLog(data);
3327
}
3428
return;
@@ -38,19 +32,20 @@ export default function runner(
3832
// transform string result into object
3933
let resultString = data.substring(match.index + signal.length);
4034
let result = JSON.parse(JSON.stringify(resultString));
41-
// why parse twice? I don't know, but it works
35+
// why parse twice? it works
4236
if (typeof result === 'string') {
4337
result = JSON.parse(result);
4438
}
4539

46-
if (result.pass) {
47-
// pass
48-
final = result.passes[result.passes.length - 1];
49-
} else if (result.pass === false) {
50-
// fail: return first failure
51-
final = result.failures[0];
52-
} else {
53-
console.log('error processing result: ', result);
40+
switch (result.pass) {
41+
case true:
42+
final = result.passes[result.passes.length - 1];
43+
break;
44+
case false:
45+
final = result.failures[0];
46+
break;
47+
default:
48+
console.log('error processing result: ', result);
5449
}
5550

5651
final.change = final.taskPosition - config.taskPosition;

src/reporter.ts

+9-11
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,21 @@ function reporter(runner) {
88
pass: true,
99
};
1010

11-
runner.on('pass', function(test: Mocha.ITest) {
12-
let title = test.fullTitle();
13-
let obj = getIndexAndTitle(title);
11+
runner.on('pass', (test: Mocha.ITest) => {
12+
const {index} = getIndexAndTitle(test.fullTitle());
1413
// add pass
1514
result.passes.push({
16-
msg: `Task ${obj.index} Complete`,
17-
taskPosition: obj.index,
15+
msg: `Task ${index} Complete`,
16+
taskPosition: index,
1817
});
1918
});
2019

21-
runner.on('fail', function(test: Mocha.ITest, err: Error) {
22-
let title = test.fullTitle();
23-
let obj = getIndexAndTitle(title);
20+
runner.on('fail', (test: Mocha.ITest, err: Error) => {
21+
const {msg, index} = getIndexAndTitle(test.fullTitle());
2422
// add fail
2523
result.failures.push({
26-
msg: obj.msg,
27-
taskPosition: obj.index - 1,
24+
msg,
25+
taskPosition: index - 1,
2826
// body: test.body,
2927
timedOut: test.timedOut,
3028
// duration: test.duration
@@ -44,7 +42,7 @@ function reporter(runner) {
4442

4543
function getIndexAndTitle(title: string): IndexTitle {
4644
// tests prefixed with task number: "01 title"
47-
let indexString = title.match(/^[0-9]+/);
45+
const indexString = title.match(/^[0-9]+/);
4846
if (!indexString) {
4947
throw 'Tests should begin with a number, indicating the task number';
5048
}

0 commit comments

Comments
 (0)