Skip to content
This repository was archived by the owner on Aug 8, 2020. It is now read-only.

Commit 6d6449a

Browse files
committed
TODO and SKIP tests are not taken as failed/passed
1 parent b2d0b8b commit 6d6449a

File tree

4 files changed

+40
-3
lines changed

4 files changed

+40
-3
lines changed

lib/panel.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,20 @@ class Panel {
2828
const assert = assertResult.assert;
2929

3030
const newTest = this.htmlRendererHelper.createContainer('test');
31-
newTest.classList.add(assert.ok ? 'ok' : 'ko');
31+
newTest.classList.add(this._getCssClassForAssert(assert));
3232
newTest.textContent = `${assert.name}`;
3333
this.testsContainer.appendChild(newTest);
3434

3535
this._updateTestStatisticSection(assertResult);
3636
}
3737

38+
_getCssClassForAssert(assert) {
39+
if (assert.ok) {
40+
return (assert.skip) ? 'skipped' : 'ok';
41+
}
42+
return (assert.todo) ? 'todo' : 'ko';
43+
}
44+
3845
renderFinalReport(results) {
3946
this.hideExecutingIndicator();
4047

lib/test-runner-process.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,10 @@ class TestRunnerProcess extends EventEmitter {
5555

5656
_updateCurrentExecution(assert) {
5757
if (assert.ok) {
58-
this.currentExecution.passed++;
59-
} else {
58+
if (!assert.skip) {
59+
this.currentExecution.passed++;
60+
}
61+
} else if (!assert.todo) {
6062
this.currentExecution.failed++;
6163
}
6264
}

spec/test-runner-process-spec.js

+26
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,30 @@ describe('TestRunnerProcess', () => {
9999
expect(receivedAssertResults[1].assert).toBe(notOkAssertResult);
100100
expect(receivedAssertResults[1].currentExecution.passed).toBe(1);
101101
});
102+
103+
it('does not count skipped tests as success', () => {
104+
const receivedAssertResults = [];
105+
const assertResult = {ok: true, skip: true};
106+
runner.run('/somefolder/', 'filename');
107+
runner.on('assert', result => receivedAssertResults.push(result));
108+
109+
parser.emitAssert(assertResult);
110+
111+
expect(receivedAssertResults[0].assert).toBe(assertResult);
112+
expect(receivedAssertResults[0].currentExecution.passed).toBe(0);
113+
expect(receivedAssertResults[0].currentExecution.failed).toBe(0);
114+
});
115+
116+
it('does not count todo tests as failed', () => {
117+
const receivedAssertResults = [];
118+
const assertResult = {ok: false, todo: true};
119+
runner.run('/somefolder/', 'filename');
120+
runner.on('assert', result => receivedAssertResults.push(result));
121+
122+
parser.emitAssert(assertResult);
123+
124+
expect(receivedAssertResults[0].assert).toBe(assertResult);
125+
expect(receivedAssertResults[0].currentExecution.passed).toBe(0);
126+
expect(receivedAssertResults[0].currentExecution.failed).toBe(0);
127+
});
102128
});

styles/ava.less

+2
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@
7373

7474
.ok { color: #6D9669; }
7575
.ko { color: #B03952; }
76+
.skipped { color: #CCC; }
77+
.todo { color: #CCC; }
7678
}
7779

7880
.message { padding-bottom: 10px; }

0 commit comments

Comments
 (0)