Socket
Socket
Sign inDemoInstall

node-int64

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.3.2 to 0.3.3

.npmignore

39

package.json
{
"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"
}
}
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();
};
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc