0,
max_length,
String::HINT_MANY_WRITES_EXPECTED);
+
+ constructor_template->GetFunction()->Set(chars_written_sym,
+ Integer::New(written));
+
return scope.Close(Integer::New(written));
}
*dst++ = ((c & 0x03) << 6) | (d & 0x3F);
}
+ constructor_template->GetFunction()->Set(chars_written_sym,
+ Integer::New(s.length()));
+
return scope.Close(Integer::New(dst - start));
}
max_length = MIN(s->Length(), MIN(buffer->length_ - offset, max_length));
int written = DecodeWrite(p, max_length, s, BINARY);
+
+ constructor_template->GetFunction()->Set(chars_written_sym,
+ Integer::New(written));
+
return scope.Close(Integer::New(written));
}
written = sub.write('12345', 'binary');
assert.equal(written, 4);
assert.equal(buf[4], 0);
+
+// test for _charsWritten
+buf = new Buffer(9);
+buf.write('あいうえ', 'utf8'); // 3bytes * 4
+assert.equal(Buffer._charsWritten, 3);
+buf.write('あいうえお', 'ucs2'); // 2bytes * 5
+assert.equal(Buffer._charsWritten, 4);
+buf.write('0123456789', 'ascii');
+assert.equal(Buffer._charsWritten, 9);
+buf.write('0123456789', 'binary');
+assert.equal(Buffer._charsWritten, 9);
+buf.write('123456', 'base64');
+assert.equal(Buffer._charsWritten, 6);