1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
| var test = require('tape')
| var _JSON = require('../')
|
| function clone (o) {
| return JSON.parse(JSON.stringify(o))
| }
|
| var examples = {
| simple: { foo: [], bar: {}, baz: new Buffer('some binary data') },
| just_buffer: new Buffer('JUST A BUFFER'),
| all_types: {
| string:'hello',
| number: 3145,
| null: null,
| object: {},
| array: [],
| boolean: true,
| boolean2: false
| },
| foo: new Buffer('foo'),
| foo2: new Buffer('foo2'),
| escape: {
| buffer: new Buffer('x'),
| string: _JSON.stringify(new Buffer('x'))
| },
| escape2: {
| buffer: new Buffer('x'),
| string: ':base64:'+ new Buffer('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)
|
|