| 123456789101112131415161718192021222324252627282930313233343536 | var test = require('tape');var traverse = require('../');test('stringify', function (t) {    var obj = [ 5, 6, -3, [ 7, 8, -2, 1 ], { f : 10, g : -13 } ];        var s = '';    traverse(obj).forEach(function (node) {        if (Array.isArray(node)) {            this.before(function () { s += '[' });            this.post(function (child) {                if (!child.isLast) s += ',';            });            this.after(function () { s += ']' });        }        else if (typeof node == 'object') {            this.before(function () { s += '{' });            this.pre(function (x, key) {                s += '"' + key + '"' + ':';            });            this.post(function (child) {                if (!child.isLast) s += ',';            });            this.after(function () { s += '}' });        }        else if (typeof node == 'function') {            s += 'null';        }        else {            s += node.toString();        }    });        t.equal(s, JSON.stringify(obj));    t.end();});
 |