THRIFT-3444 Large 64 bit Integer does not preserve value through Node.js JSONProtocol
Client: Node.js
Patch: Nobuaki Sukegawa
This closes #712
diff --git a/lib/nodejs/test/test-cases.js b/lib/nodejs/test/test-cases.js
index 6953e1a..13722be 100644
--- a/lib/nodejs/test/test-cases.js
+++ b/lib/nodejs/test/test-cases.js
@@ -1,6 +1,7 @@
'use strict';
var ttypes = require('./gen-nodejs/ThriftTest_types');
+var Int64 = require('node-int64');
//all Languages in UTF-8
/*jshint -W100 */
@@ -58,15 +59,14 @@
['testI32', -1],
['testDouble', -5.2098523],
['testDouble', 7.012052175215044],
- ['testEnum', ttypes.Numberz.ONE]
-];
-
-var simpleLoose = [
+ ['testEnum', ttypes.Numberz.ONE],
['testI64', 5],
['testI64', -5],
['testI64', 734359738368],
- ['testI64', -34359738368],
['testI64', -734359738368],
+ ['testI64', new Int64(new Buffer([0, 0x20, 0, 0, 0, 0, 0, 1]))], // 2^53+1
+ ['testI64', new Int64(
+ new Buffer([0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]))], // -2^53-1
['testTypedef', 69]
]
@@ -134,7 +134,6 @@
};
module.exports.simple = simple;
-module.exports.simpleLoose = simpleLoose;
module.exports.deep = deep;
module.exports.deepUnordered = deepUnordered;