Skip to content

Commit 99a41ed

Browse files
committed
Fix a write buffer bug and more test cases.
1 parent 8ac8c7d commit 99a41ed

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/writer.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ module.exports = class BufferWriter {
103103

104104
writeBuffer(buffer) {
105105
assert(buffer, 'Buffer cannot be null.')
106-
this.buffer = Buffer.concat([this.buffer, buffer])
106+
107+
buffer.copy(this.buffer, this.offset)
107108
this.offset += buffer.length
108109
return this.offset
109110
}

src/writer.test.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,17 @@ describe('BufferWriter tests', () => {
2323
let offset = bw.writeBuffer(target1)
2424
expect(offset).toBe(6)
2525
expect(offset).toBe(bw.offset)
26+
expect(buffer.length).toBe(256)
2627

27-
offset = bw.writeBuffer(target1)
28+
offset = bw.writeBuffer(target2)
2829
expect(offset).toBe(12)
2930
expect(offset).toBe(bw.offset)
3031

3132
const bufferSlice = buffer.slice(0, 12)
3233
const bufferConcat = Buffer.concat([target1, target2])
3334

3435
expect(bufferConcat.length).toBe(12)
35-
expect(Buffer.compare(bufferSlice, bufferConcat)).toBeTruthy()
36+
expect(bufferConcat.equals(bufferSlice)).toBeTruthy()
3637
})
3738

3839
it('demo 1', () => {

0 commit comments

Comments
 (0)