70 lines
1.9 KiB
Java
70 lines
1.9 KiB
Java
![]() |
var tap = require('tap');
|
||
|
var spawn = require('child_process').spawn;
|
||
|
var concat = require('concat-stream');
|
||
|
|
||
|
tap.test('requiring a single module', function (t) {
|
||
|
t.plan(2);
|
||
|
|
||
|
var tc = function (rows) {
|
||
|
t.same(rows.toString('utf8'), [
|
||
|
'TAP version 13',
|
||
|
'# module-a',
|
||
|
'ok 1 loaded module a',
|
||
|
'# test-a',
|
||
|
'ok 2 module-a loaded in same context',
|
||
|
'ok 3 test ran after module-a was loaded',
|
||
|
'',
|
||
|
'1..3',
|
||
|
'# tests 3',
|
||
|
'# pass 3',
|
||
|
'',
|
||
|
'# ok'
|
||
|
].join('\n') + '\n\n');
|
||
|
};
|
||
|
|
||
|
var ps = tape('-r ./require/a require/test-a.js');
|
||
|
ps.stdout.pipe(concat(tc));
|
||
|
ps.on('exit', function (code) {
|
||
|
t.equal(code, 0);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
tap.test('requiring multiple modules', function (t) {
|
||
|
t.plan(2);
|
||
|
|
||
|
var tc = function (rows) {
|
||
|
t.same(rows.toString('utf8'), [
|
||
|
'TAP version 13',
|
||
|
'# module-a',
|
||
|
'ok 1 loaded module a',
|
||
|
'# module-b',
|
||
|
'ok 2 loaded module b',
|
||
|
'# test-a',
|
||
|
'ok 3 module-a loaded in same context',
|
||
|
'ok 4 test ran after module-a was loaded',
|
||
|
'# test-b',
|
||
|
'ok 5 module-b loaded in same context',
|
||
|
'ok 6 test ran after module-b was loaded',
|
||
|
'',
|
||
|
'1..6',
|
||
|
'# tests 6',
|
||
|
'# pass 6',
|
||
|
'',
|
||
|
'# ok'
|
||
|
].join('\n') + '\n\n');
|
||
|
};
|
||
|
|
||
|
var ps = tape('-r ./require/a -r ./require/b require/test-a.js require/test-b.js');
|
||
|
ps.stdout.pipe(concat(tc));
|
||
|
ps.on('exit', function (code) {
|
||
|
t.equal(code, 0);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
function tape(args) {
|
||
|
var proc = require('child_process');
|
||
|
var bin = __dirname + '/../bin/tape';
|
||
|
|
||
|
return proc.spawn('node', [bin].concat(args.split(' ')), { cwd: __dirname });
|
||
|
}
|