| 1234567891011121314151617181920212223242526272829303132333435 | 
							- 'use strict';
 
- 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();
 
- });
 
 
  |