UNPKG

1.95 kBJavaScriptView Raw
1/*
2 * Copyright 2012 Mark Cavage. All rights reserved.
3 *
4 * Help nodeunit API feel like node-tap's.
5 *
6 * Usage:
7 * if (require.cache[__dirname + '/tap4nodeunit.js'])
8 * delete require.cache[__dirname + '/tap4nodeunit.js'];
9 * var tap4nodeunit = require('./tap4nodeunit.js');
10 * var after = tap4nodeunit.after;
11 * var before = tap4nodeunit.before;
12 * var test = tap4nodeunit.test;
13 */
14
15
16
17//---- Exports
18
19module.exports = {
20
21 after: function after(teardown) {
22 module.parent.exports.tearDown = function _teardown(callback) {
23 try {
24 teardown.call(this, callback);
25 } catch (e) {
26 console.error('after:\n' + e.stack);
27 process.exit(1);
28 }
29 };
30 },
31
32 before: function before(setup) {
33 module.parent.exports.setUp = function _setup(callback) {
34 try {
35 setup.call(this, callback);
36 } catch (e) {
37 console.error('before:\n' + e.stack);
38 process.exit(1);
39 }
40 };
41 },
42
43 test: function test(name, tester) {
44 module.parent.exports[name] = function _(t) {
45 var _done = false;
46 t.end = function end() {
47 if (!_done) {
48 _done = true;
49 t.done();
50 }
51 };
52 t.notOk = function notOk(ok, message) {
53 return (t.ok(!ok, message));
54 };
55
56 tester.call(this, t);
57 };
58 }
59};