Skip to content

Commit

Permalink
fix #19 Buffer.alloc()
Browse files Browse the repository at this point in the history
  • Loading branch information
kawanet committed Oct 24, 2020
1 parent 4f281cf commit c84c73c
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
2 changes: 1 addition & 1 deletion int64-buffer.js
Expand Up @@ -100,7 +100,7 @@ var Uint64BE, Int64BE, Uint64LE, Int64LE;
raddix = offset;
value = buffer;
offset = 0;
buffer = new _storage(8);
buffer = (storage === BUFFER) ? BUFFER.alloc(8) : new _storage(8);
}

that.buffer = buffer;
Expand Down
18 changes: 13 additions & 5 deletions test/test.js
Expand Up @@ -271,8 +271,16 @@ function allTests(uint64Name, int64Name) {
var highpos = LE ? 15 : 8;
var lowpos = LE ? 8 : 15;

function alloc(size) {
// Buffer() is deprecated
if (StorageClass === BUFFER) return BUFFER.alloc(size);

// other than Buffer
return new StorageClass(size);
}

itSkip(className + "(" + storageName + ",offset)", function() {
var buffer = new StorageClass(24);
var buffer = alloc(24);
var raw = buffer;
if (isArrayBuffer(buffer)) buffer = (raw = new Uint8Array(buffer)).buffer;
for (var i = 0; i < 24; i++) {
Expand All @@ -299,7 +307,7 @@ function allTests(uint64Name, int64Name) {
});

itSkip(className + "(" + storageName + ",offset,number)", function() {
var buffer = new StorageClass(24);
var buffer = alloc(24);
var val = new Int64Class(buffer, 8, 1234567890);
assert.equal(val.toNumber(), 1234567890);
assert.equal(val.toString(), "1234567890");
Expand All @@ -310,7 +318,7 @@ function allTests(uint64Name, int64Name) {
});

itSkip(className + "(" + storageName + ",offset,high,low)", function() {
var buffer = new StorageClass(24);
var buffer = alloc(24);
var val = new Int64Class(buffer, 8, 0x12345678, 0x90abcdef);
assert.equal(val.toString(16), "1234567890abcdef");
if (isArrayBuffer(buffer)) buffer = new Uint8Array(buffer);
Expand All @@ -319,7 +327,7 @@ function allTests(uint64Name, int64Name) {
});

itSkip(className + "(" + storageName + ",offset,string,raddix)", function() {
var buffer = new StorageClass(24);
var buffer = alloc(24);
var val = new Int64Class(buffer, 8, "1234567890", 16);
assert.equal(val.toNumber(), 0x1234567890);
assert.equal(val.toString(16), "1234567890");
Expand All @@ -330,7 +338,7 @@ function allTests(uint64Name, int64Name) {
});

itSkip(className + "(" + storageName + ",offset,array,offset)", function() {
var buffer = new StorageClass(16);
var buffer = alloc(16);
var src = LE ? [].concat(POSB, NEGB) : [].concat(NEGB, POSB);
var val = Int64Class(buffer, 8, src, 4);
assert.equal(val.toString(16), "7654321012345678");
Expand Down

0 comments on commit c84c73c

Please sign in to comment.