1 var mocha = require('mocha')
2 , assert = require('chai').assert
3 , expect = require('chai').expect
4 , BigNumber = require('bignumber.js')
7 describe("Testing bigint support", function(){
8 var input = '{"big":9223372036854775807,"small":123}';
10 it("Should show classic JSON.parse lacks bigint support", function(done){
11 var obj = JSON.parse(input);
12 expect(obj.small.toString(), "string from small int").to.equal("123");
13 expect(obj.big.toString(), "string from big int").to.not.equal("9223372036854775807");
15 var output = JSON.stringify(obj);
16 expect(output).to.not.equal(input);
20 it("Should show JSNbig does support bigint parse/stringify roundtrip", function(done){
21 var JSONbig = require('../index');
22 var obj = JSONbig.parse(input);
23 expect(obj.small.toString(), "string from small int").to.equal("123");
24 expect(obj.big.toString(), "string from big int").to.equal("9223372036854775807");
25 expect(obj.big, "instanceof big int").to.be.instanceof(BigNumber);
27 var output = JSONbig.stringify(obj);
28 expect(output).to.equal(input);