aboutsummaryrefslogtreecommitdiff
path: root/node_modules/json-buffer/test/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/json-buffer/test/index.js')
-rw-r--r--node_modules/json-buffer/test/index.js63
1 files changed, 63 insertions, 0 deletions
diff --git a/node_modules/json-buffer/test/index.js b/node_modules/json-buffer/test/index.js
new file mode 100644
index 0000000..94e8372
--- /dev/null
+++ b/node_modules/json-buffer/test/index.js
@@ -0,0 +1,63 @@
+
+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)
+
+
+