61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
/*
|
|
* Copyright 2012 Mark Cavage. All rights reserved.
|
|
*
|
|
* Help nodeunit API feel like node-tap's.
|
|
*
|
|
* Usage:
|
|
* if (require.cache[__dirname + '/tap4nodeunit.js'])
|
|
* delete require.cache[__dirname + '/tap4nodeunit.js'];
|
|
* var tap4nodeunit = require('./tap4nodeunit.js');
|
|
* var after = tap4nodeunit.after;
|
|
* var before = tap4nodeunit.before;
|
|
* var test = tap4nodeunit.test;
|
|
*/
|
|
|
|
|
|
|
|
//---- Exports
|
|
|
|
module.exports = {
|
|
after: function after(teardown) {
|
|
module.parent.exports.tearDown = function _teardown(callback) {
|
|
try {
|
|
teardown.call(this, callback);
|
|
} catch (e) {
|
|
console.error('after:\n' + e.stack);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
},
|
|
|
|
before: function before(setup) {
|
|
module.parent.exports.setUp = function _setup(callback) {
|
|
try {
|
|
setup.call(this, callback);
|
|
} catch (e) {
|
|
console.error('before:\n' + e.stack);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
},
|
|
|
|
test: function test(name, tester) {
|
|
module.parent.exports[name] = function _(t) {
|
|
var _done = false;
|
|
t.end = function end() {
|
|
if (!_done) {
|
|
_done = true;
|
|
t.done();
|
|
}
|
|
};
|
|
t.notOk = function notOk(ok, message) {
|
|
return (t.ok(!ok, message));
|
|
};
|
|
t.error = t.ifError;
|
|
|
|
tester.call(this, t);
|
|
};
|
|
}
|
|
|
|
|
|
};
|