diff --git a/test/basic.js b/test/basic.js index e0e96b9..dbcd43c 100644 --- a/test/basic.js +++ b/test/basic.js @@ -78,4 +78,29 @@ function runTests (name, Store) { }) }) }) + + test(name + ': unaligned writable stream', function (t) { + var store = new Store(3) + + var stream = ChunkStoreStream.write(store, 3) + stream.on('error', function (err) { t.fail(err) }) + + str('abcdefg') + .pipe(stream) + .on('finish', function () { + store.get(0, function (err, buf) { + t.error(err) + t.deepEqual(buf, new Buffer('abc')) + store.get(1, function (err, buf) { + t.error(err) + t.deepEqual(buf, new Buffer('def')) + store.get(2, function (err, buf) { + t.error(err) + t.deepEqual(buf, new Buffer('g\0\0')) + t.end() + }) + }) + }) + }) + }) } diff --git a/write.js b/write.js index 2cbca11..cefde3e 100644 --- a/write.js +++ b/write.js @@ -20,7 +20,7 @@ function ChunkStoreWriteStream (store, chunkLength, opts) { chunkLength = Number(chunkLength) if (!chunkLength) throw new Error('Second argument must be a chunk length') - self._blockstream = new BlockStream(chunkLength, { zeroPadding: false }) + self._blockstream = new BlockStream(chunkLength, { zeroPadding: true }) self._blockstream .on('data', onData)