83 lines
2.7 KiB
JavaScript
83 lines
2.7 KiB
JavaScript
![]() |
var tap = require('tap');
|
||
|
var test = require('../');
|
||
|
var concat = require('concat-stream');
|
||
|
var stripFullStack = require('./common').stripFullStack;
|
||
|
|
||
|
tap.test('test skip explanations', function (assert) {
|
||
|
assert.plan(1);
|
||
|
|
||
|
var verify = function (output) {
|
||
|
assert.equal(stripFullStack(output.toString('utf8')), [
|
||
|
'TAP version 13',
|
||
|
'# SKIP (this skips)',
|
||
|
'# some tests might skip',
|
||
|
'ok 1 this runs',
|
||
|
'ok 2 failing assert is skipped # SKIP',
|
||
|
'ok 3 this runs',
|
||
|
'# incomplete test',
|
||
|
'ok 4 run sh',
|
||
|
'ok 5 run openssl # SKIP',
|
||
|
'# incomplete test with explanation',
|
||
|
'ok 6 run sh (conditional skip) # SKIP',
|
||
|
'ok 7 run openssl # SKIP can\'t run on windows platforms',
|
||
|
'ok 8 this runs',
|
||
|
'# too much explanation',
|
||
|
'ok 9 run openssl # SKIP Installer cannot work on windows and fails to add to PATH Err: (2401) denied',
|
||
|
'',
|
||
|
'1..9',
|
||
|
'# tests 9',
|
||
|
'# pass 9',
|
||
|
'',
|
||
|
'# ok',
|
||
|
''
|
||
|
].join('\n'));
|
||
|
};
|
||
|
|
||
|
var tapeTest = test.createHarness();
|
||
|
tapeTest.createStream().pipe(concat(verify));
|
||
|
|
||
|
tapeTest('(this skips)', { skip: true }, function (t) {
|
||
|
t.fail('doesn\'t run');
|
||
|
t.fail('this doesn\'t run too', { skip: false });
|
||
|
t.end();
|
||
|
});
|
||
|
|
||
|
tapeTest('some tests might skip', function (t) {
|
||
|
t.pass('this runs');
|
||
|
t.fail('failing assert is skipped', { skip: true });
|
||
|
t.pass('this runs');
|
||
|
t.end();
|
||
|
});
|
||
|
|
||
|
tapeTest('incomplete test', function (t) {
|
||
|
// var platform = process.platform; something like this needed
|
||
|
var platform = 'win32';
|
||
|
|
||
|
t.pass('run sh', { skip: platform !== 'win32' });
|
||
|
t.pass('run openssl', { skip: platform === 'win32' });
|
||
|
t.end();
|
||
|
});
|
||
|
|
||
|
tapeTest('incomplete test with explanation', function (t) {
|
||
|
// var platform = process.platform; something like this needed
|
||
|
var platform = 'win32';
|
||
|
|
||
|
t.fail('run sh (conditional skip)', { skip: platform === 'win32' });
|
||
|
t.fail('run openssl', { skip: platform === 'win32' && 'can\'t run on windows platforms' });
|
||
|
t.pass('this runs');
|
||
|
t.end();
|
||
|
});
|
||
|
|
||
|
tapeTest('too much explanation', function (t) {
|
||
|
// var platform = process.platform; something like this needed
|
||
|
var platform = 'win32';
|
||
|
|
||
|
t.fail('run openssl',
|
||
|
{ skip: platform === 'win32' && 'Installer cannot work on windows\nand fails to add to PATH\n\n Err: (2401) denied' }
|
||
|
);
|
||
|
t.end();
|
||
|
});
|
||
|
});
|
||
|
|
||
|
// vim: set softtabstop=4 shiftwidth=4:
|