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 |
|
19 | module.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 | };
|