Skip to content

Commit

Permalink
[Feat] add todo assert explanations and tests
Browse files Browse the repository at this point in the history
  • Loading branch information
r0mflip committed Jun 27, 2019
1 parent 5d87103 commit fc2e7d6
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/results.js
Expand Up @@ -151,7 +151,7 @@ function encodeResult(res, count) {
if (res.skip) {
output += ' # SKIP' + ((typeof res.skip === 'string') ? ' ' + coalesceWhiteSpaces(res.skip) : '');
} else if (res.todo) {
output += ' # TODO';
output += ' # TODO' + ((typeof res.todo === 'string') ? ' ' + coalesceWhiteSpaces(res.todo) : '');
};

output += '\n';
Expand Down
70 changes: 70 additions & 0 deletions test/todo_explanation.js
@@ -0,0 +1,70 @@
var tap = require('tap');
var tape = require('../');
var concat = require('concat-stream');

var common = require('./common');
var stripFullStack = common.stripFullStack;

tap.test('tape todo test', { todo: process.versions.node.match(/0\.8\.\d+/) ? 'Fails on node 0.8': false }, function (assert) {
var test = tape.createHarness({ exit: false });
assert.plan(1);

test.createStream().pipe(concat(function (body) {
assert.equal(
stripFullStack(body.toString('utf8')), [
'TAP version 13',
'# success',
'ok 1 this test runs',
'# TODO incomplete test1',
'not ok 2 check output # TODO',
' ---',
' operator: equal',
' expected: false',
' actual: true',
' at: Test.<anonymous> ($TEST/todo_explanation.js:$LINE:$COL)',
' ...',
'not ok 3 check vars output # TODO name conflict',
' ---',
' operator: equal',
' expected: 0',
' actual: 1',
' at: Test.<anonymous> ($TEST/todo_explanation.js:$LINE:$COL)',
' ...',
'# incomplete test2',
'not ok 4 run openssl # TODO installer needs fix',
' ---',
' operator: fail',
' at: Test.<anonymous> ($TEST/todo_explanation.js:$LINE:$COL)',
' ...',
'# TODO passing test',
'',
'1..4',
'# tests 4',
'# pass 4',
'',
'# ok',
''
].join('\n')
);
}));

test('success', function (t) {
t.equal(true, true, 'this test runs');
t.end();
});

test('incomplete test1', { todo: true }, function (t) {
t.equal(true, false, 'check output');
t.equal(1, 0, 'check vars output', { todo: 'name conflict' });
t.end();
});

test('incomplete test2', function (t) {
t.fail('run openssl', { todo: 'installer needs fix' });
t.end();
});

test('passing test', { todo: 'yet incomplete' }, function (t) {
t.end();
});
});

0 comments on commit fc2e7d6

Please sign in to comment.