| @ -0,0 +1,26 @@ | |||||
| var assert = require("assert"); | |||||
| var BigNumber = require("bignumber.js"); | |||||
| var json = require("../lib/json"); | |||||
| describe("json", function(){ | |||||
| describe("#parse()", function(){ | |||||
| it("should properly parse big integers", function(){ | |||||
| // DEV: This test case is from: https://github.com/brettlangdon/node-dogapi/issues/16 | |||||
| var data = "{\"id\": 2868860079149422351}"; | |||||
| var parsed = json.parse(data); | |||||
| // `parsed.id` is an instance of `BigNumber` | |||||
| assert.equal(parsed.id.toString(), "2868860079149422351"); | |||||
| }); | |||||
| }); | |||||
| describe("#stringify()", function(){ | |||||
| it("should properly parse big integers", function(){ | |||||
| // DEV: This test case is from: https://github.com/brettlangdon/node-dogapi/issues/16 | |||||
| var data = {"id": new BigNumber('2868860079149422351')}; | |||||
| var stringified = json.stringify(data); | |||||
| // Yeah, it ends up being a string and not an int, but mostly we | |||||
| // want to make sure it doesn't throw an error or provide the wrong number | |||||
| assert.equal(stringified, "{\"id\":\"2868860079149422351\"}"); | |||||
| }); | |||||
| }); | |||||
| }); | |||||