| 
 | |
| var test = require('tape') | |
| var _JSON = require('../') | |
| 
 | |
| function clone (o) { | |
|   return JSON.parse(JSON.stringify(o)) | |
| } | |
| 
 | |
| var examples = { | |
|   simple: { foo: [], bar: {}, baz: Buffer.from('some binary data') }, | |
|   just_buffer: Buffer.from('JUST A BUFFER'), | |
|   all_types: { | |
|     string:'hello', | |
|     number: 3145, | |
|     null: null, | |
|     object: {}, | |
|     array: [], | |
|     boolean: true, | |
|     boolean2: false | |
|   }, | |
|   foo: Buffer.from('foo'), | |
|   foo2: Buffer.from('foo2'), | |
|   escape: { | |
|     buffer: Buffer.from('x'), | |
|     string: _JSON.stringify(Buffer.from('x')) | |
|   }, | |
|   escape2: { | |
|     buffer: Buffer.from('x'), | |
|     string: ':base64:'+ Buffer.from('x').toString('base64') | |
|   }, | |
|   undefined: { | |
|     empty: undefined, test: true | |
|   }, | |
|   undefined2: { | |
|     first: 1, empty: undefined, test: true | |
|   }, | |
|   undefinedArray: { | |
|     array: [undefined, 1, 'two'] | |
|   }, | |
|   fn: { | |
|     fn: function () {}     | |
|   }, | |
|   undefined: undefined | |
| } | |
| 
 | |
| for(k in examples) | |
| (function (value, k) {  | |
|   test(k, function (t) { | |
|     var s = _JSON.stringify(value) | |
|     console.log('parse', s) | |
|     if(JSON.stringify(value) !== undefined) { | |
|       console.log(s) | |
|       var _value = _JSON.parse(s) | |
|       t.deepEqual(clone(_value), clone(value)) | |
|     } | |
|     else | |
|       t.equal(s, undefined) | |
|     t.end() | |
|   }) | |
| })(examples[k], k) | |
| 
 | |
| 
 | |
| 
 |