Skip to content

Commit 3519118

Browse files
committed
Add failing test to demonstrate that writing to a Buffer object doesn't work
1 parent 8d24c8b commit 3519118

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

test.js

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,8 @@ suite('BitBuffer', function () {
295295
});
296296

297297
test('writeBitStream', function () {
298-
var sourceStream = new BitStream(new ArrayBuffer(64));
298+
var buf = new ArrayBuffer(64);
299+
var sourceStream = new BitStream(buf);
299300

300301
sourceStream.writeBits(0xF0, 8); //0b11110000
301302
sourceStream.writeBits(0xF1, 8); //0b11110001
@@ -306,6 +307,29 @@ suite('BitBuffer', function () {
306307
bsr.index = 0;
307308
assert.equal(bsr.readBits(6), 0x3E); //0b00111110
308309
assert.equal(11, sourceStream.index);
310+
311+
var bin = new Uint8Array(buf);
312+
assert.equal(bin[0], 0xF0);
313+
assert.equal(bin[1], 0xF1);
314+
});
315+
316+
test('writeBitStream Buffer', function () {
317+
var buf = Buffer.alloc(64);
318+
var sourceStream = new BitStream(buf);
319+
320+
sourceStream.writeBits(0xF0, 8); //0b11110000
321+
sourceStream.writeBits(0xF1, 8); //0b11110001
322+
sourceStream.index = 0;
323+
sourceStream.readBits(3); //offset
324+
bsr.writeBitStream(sourceStream, 8);
325+
assert.equal(8, bsr.index);
326+
bsr.index = 0;
327+
assert.equal(bsr.readBits(6), 0x3E); //0b00111110
328+
assert.equal(11, sourceStream.index);
329+
330+
var bin = new Uint8Array(buf.buffer);
331+
assert.equal(bin[0], 0xF0);
332+
assert.equal(bin[1], 0xF1);
309333
});
310334

311335
test('writeBitStream long', function () {

0 commit comments

Comments
 (0)