Skip to content

Commit c84c73c

Browse files
committed
fix #19 Buffer.alloc()
1 parent 4f281cf commit c84c73c

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

int64-buffer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ var Uint64BE, Int64BE, Uint64LE, Int64LE;
100100
raddix = offset;
101101
value = buffer;
102102
offset = 0;
103-
buffer = new _storage(8);
103+
buffer = (storage === BUFFER) ? BUFFER.alloc(8) : new _storage(8);
104104
}
105105

106106
that.buffer = buffer;

test/test.js

+13-5
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,16 @@ function allTests(uint64Name, int64Name) {
271271
var highpos = LE ? 15 : 8;
272272
var lowpos = LE ? 8 : 15;
273273

274+
function alloc(size) {
275+
// Buffer() is deprecated
276+
if (StorageClass === BUFFER) return BUFFER.alloc(size);
277+
278+
// other than Buffer
279+
return new StorageClass(size);
280+
}
281+
274282
itSkip(className + "(" + storageName + ",offset)", function() {
275-
var buffer = new StorageClass(24);
283+
var buffer = alloc(24);
276284
var raw = buffer;
277285
if (isArrayBuffer(buffer)) buffer = (raw = new Uint8Array(buffer)).buffer;
278286
for (var i = 0; i < 24; i++) {
@@ -299,7 +307,7 @@ function allTests(uint64Name, int64Name) {
299307
});
300308

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

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

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

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

0 commit comments

Comments
 (0)