From 44191f216821d93791d412de8f93c52b2a94e378 Mon Sep 17 00:00:00 2001 From: James Halliday Date: Wed, 10 Feb 2016 12:55:01 -0800 Subject: [PATCH 1/2] failing unaligned test --- test/basic.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) 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() + }) + }) + }) + }) + }) } From 7043fe902606114f32af2c691d9f9a4681c051b6 Mon Sep 17 00:00:00 2001 From: James Halliday Date: Wed, 10 Feb 2016 12:55:12 -0800 Subject: [PATCH 2/2] zero pad to pass unaligned test --- write.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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)