node-int64
Advanced tools
Comparing version 0.3.2 to 0.3.3
{ | ||
"name" : "node-int64", | ||
"description" : "Support for representing 64-bit integers in JavaScript", | ||
"url" : "http://github.com/broofa/node-int64", | ||
"keywords" : ["math", "integer", "int64"], | ||
"author" : "Robert Kieffer <robert@broofa.com>", | ||
"contributors" : [], | ||
"dependencies" : {}, | ||
"lib" : ".", | ||
"main" : "./Int64.js", | ||
"version" : "0.3.2", | ||
"repository": | ||
{ "type" : "git", | ||
"url" : "https://github.com/broofa/node-int64" | ||
} | ||
"name": "node-int64", | ||
"description": "Support for representing 64-bit integers in JavaScript", | ||
"url": "http://github.com/broofa/node-int64", | ||
"keywords": [ | ||
"math", | ||
"integer", | ||
"int64" | ||
], | ||
"author": "Robert Kieffer <robert@broofa.com>", | ||
"contributors": [], | ||
"dependencies": {}, | ||
"license": "MIT", | ||
"lib": ".", | ||
"main": "./Int64.js", | ||
"version": "0.3.3", | ||
"scripts": { | ||
"test": "nodeunit test.js" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/broofa/node-int64" | ||
}, | ||
"devDependencies": { | ||
"nodeunit": "^0.9.0" | ||
} | ||
} |
111
test.js
var assert = require('assert'); | ||
var Int64 = require('./Int64'); | ||
var args = [ | ||
[0], '0000000000000000', 0, | ||
[1], '0000000000000001', 1, | ||
[-1], 'ffffffffffffffff', -1, | ||
[1e18], '0de0b6b3a7640000', 1e18, | ||
['0001234500654321'], '0001234500654321', 0x1234500654321, | ||
['0ff1234500654321'], '0ff1234500654321', 0xff1234500654300, // Imprecise! | ||
[0xff12345, 0x654321], '0ff1234500654321', 0xff1234500654300, // Imprecise! | ||
[0xfffaffff, 0xfffff700],'fffafffffffff700', -0x5000000000900, | ||
[0xafffffff, 0xfffff700],'affffffffffff700', -0x5000000000000800, // Imprecise! | ||
['0x0000123450654321'], '0000123450654321', 0x123450654321, | ||
['0xFFFFFFFFFFFFFFFF'], 'ffffffffffffffff', -1 | ||
]; | ||
exports.setUp = function(done) { | ||
done(); | ||
}; | ||
// Test constructor argments | ||
exports.testBufferToString = function(test) { | ||
var int = new Int64(0xfffaffff, 0xfffff700); | ||
test.equal( | ||
int.toBuffer().toString('hex'), | ||
'fffafffffffff700', | ||
'Buffer to string conversion' | ||
); | ||
test.done(); | ||
}; | ||
for (var i = 0; i < args.length; i += 3) { | ||
var a = args[i], octets = args[i+1], number = args[i+2]; | ||
console.log('Testing ' + a.join(', ')); | ||
// Create instance | ||
var x = new Int64(); | ||
Int64.apply(x, a); | ||
exports.testBufferCopy = function(test) { | ||
var src = new Int64(0xfffaffff, 0xfffff700); | ||
var dst = new Buffer(8); | ||
assert.equal(x.toOctetString(), octets, | ||
'Constuctor with ' + args.join(', ')); | ||
src.copy(dst); | ||
assert.equal(x.toNumber(true), number); | ||
} | ||
test.deepEqual( | ||
dst, | ||
new Buffer([0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00]), | ||
'Copy to buffer' | ||
); | ||
// Test buffer output | ||
test.done(); | ||
}; | ||
var intUnderTest = new Int64(0xfffaffff, 0xfffff700); | ||
var expectedBuffer = new Buffer([0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00]); | ||
console.log('Testing '+intUnderTest.toOctetString()+' as Buffer'); | ||
assert.equal(intUnderTest.toBuffer().toString('hex'), expectedBuffer.toString('hex')); | ||
exports.testValueRepresentation = function(test) { | ||
var args = [ | ||
[0], '0000000000000000', 0, | ||
[1], '0000000000000001', 1, | ||
[-1], 'ffffffffffffffff', -1, | ||
[1e18], '0de0b6b3a7640000', 1e18, | ||
['0001234500654321'], '0001234500654321', 0x1234500654321, | ||
['0ff1234500654321'], '0ff1234500654321', 0xff1234500654300, // Imprecise! | ||
[0xff12345, 0x654321], '0ff1234500654321', 0xff1234500654300, // Imprecise! | ||
[0xfffaffff, 0xfffff700],'fffafffffffff700', -0x5000000000900, | ||
[0xafffffff, 0xfffff700],'affffffffffff700', -0x5000000000000800, // Imprecise! | ||
['0x0000123450654321'], '0000123450654321', 0x123450654321, | ||
['0xFFFFFFFFFFFFFFFF'], 'ffffffffffffffff', -1 | ||
]; | ||
var targetBuffer = new Buffer(8); | ||
intUnderTest.copy(targetBuffer); | ||
assert.equal(targetBuffer.toString('hex'), expectedBuffer.toString('hex')); | ||
// Test constructor argments | ||
// Test construction from existing buffer with offset, and buffer outputs on same. | ||
for (var i = 0; i < args.length; i += 3) { | ||
var a = args[i], octets = args[i+1], number = args[i+2]; | ||
var sourceBuffer = new Buffer(16); | ||
sourceBuffer.writeUInt32BE(0xfffaffff, 2); | ||
sourceBuffer.writeUInt32BE(0xfffff700, 6); | ||
intUnderTest = new Int64(sourceBuffer, 2); | ||
assert.equal(intUnderTest.toBuffer().toString('hex'), expectedBuffer.toString('hex')); | ||
// Create instance | ||
var x = new Int64(); | ||
Int64.apply(x, a); | ||
targetBuffer = new Buffer(16); | ||
intUnderTest.copy(targetBuffer, 4); | ||
assert.equal(targetBuffer.slice(4, 12).toString('hex'), expectedBuffer.toString('hex')); | ||
test.equal(x.toOctetString(), octets, 'Constuctor with ' + args.join(', ')); | ||
test.equal(x.toNumber(true), number); | ||
} | ||
console.log(new Int64(new Buffer([0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0])).toBuffer()); | ||
test.done(); | ||
}; | ||
console.log(new Int64(new Uint8Array([0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0])).toBuffer()); | ||
exports.testBufferOffsets = function(test) { | ||
var sourceBuffer = new Buffer(16); | ||
sourceBuffer.writeUInt32BE(0xfffaffff, 2); | ||
sourceBuffer.writeUInt32BE(0xfffff700, 6); | ||
var int = new Int64(sourceBuffer, 2); | ||
assert.equal( | ||
int.toBuffer().toString('hex'), 'fffafffffffff700', | ||
'Construct from offset' | ||
); | ||
var targetBuffer = new Buffer(16); | ||
int.copy(targetBuffer, 4); | ||
assert.equal( | ||
targetBuffer.slice(4, 12).toString('hex'), 'fffafffffffff700', | ||
'Copy to offset' | ||
); | ||
test.done(); | ||
}; |
No License Found
License(Experimental) License information could not be found
Found 1 instance in 1 package
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
13810
6
0
275
1
1