str.js (1126B)
1 'use strict'; 2 3 var test = require('tape'); 4 var stringify = require('../'); 5 6 test('simple object', function (t) { 7 t.plan(1); 8 var obj = { c: 6, b: [4,5], a: 3, z: null }; 9 t.equal(stringify(obj), '{"a":3,"b":[4,5],"c":6,"z":null}'); 10 }); 11 12 test('object with undefined', function (t) { 13 t.plan(1); 14 var obj = { a: 3, z: undefined }; 15 t.equal(stringify(obj), '{"a":3}'); 16 }); 17 18 test('object with null', function (t) { 19 t.plan(1); 20 var obj = { a: 3, z: null }; 21 t.equal(stringify(obj), '{"a":3,"z":null}'); 22 }); 23 24 test('object with NaN and Infinity', function (t) { 25 t.plan(1); 26 var obj = { a: 3, b: NaN, c: Infinity }; 27 t.equal(stringify(obj), '{"a":3,"b":null,"c":null}'); 28 }); 29 30 test('array with undefined', function (t) { 31 t.plan(1); 32 var obj = [4, undefined, 6]; 33 t.equal(stringify(obj), '[4,null,6]'); 34 }); 35 36 test('object with empty string', function (t) { 37 t.plan(1); 38 var obj = { a: 3, z: '' }; 39 t.equal(stringify(obj), '{"a":3,"z":""}'); 40 }); 41 42 test('array with empty string', function (t) { 43 t.plan(1); 44 var obj = [4, '', 6]; 45 t.equal(stringify(obj), '[4,"",6]'); 46 });