system_assignation/node_modules/json-buffer/test/index.js

64 lines
1.2 KiB
JavaScript

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)