Test for #402: writing base64 at position > 0 should not mangle the result.
authorBen Noordhuis <info@bnoordhuis.nl>
Mon, 4 Jul 2011 15:02:58 +0000 (17:02 +0200)
committerBen Noordhuis <info@bnoordhuis.nl>
Mon, 4 Jul 2011 15:07:50 +0000 (17:07 +0200)
This is a regression test, the bug itself was fixed in v0.3.x.

test/simple/test-buffer.js

index 7561e5c..9fd0a28 100644 (file)
@@ -408,6 +408,17 @@ assert.equal(dot[2], 0x2e);
 assert.equal(dot[3], 0x00);
 assert.equal(dot.toString('base64'), '//4uAA==');
 
+// Writing base64 at a position > 0 should not mangle the result.
+//
+// https://github.com/joyent/node/issues/402
+var segments = ['TWFkbmVzcz8h','IFRoaXM=','IGlz','IG5vZGUuanMh'];
+var buf = new Buffer(64);
+var pos = 0;
+
+for (var i = 0; i < segments.length; ++i) {
+  pos += b.write(segments[i], pos, 'base64');
+}
+assert.equal(b.toString('binary', 0, pos), 'Madness?! This is node.js!');
 
 // Creating buffers larger than pool size.
 var l = Buffer.poolSize + 5;