Fix #325. Add test and check for zero-length file contents in fs.readFileSync

This commit is contained in:
isaacs 2010-10-04 12:22:59 -07:00 коммит произвёл Ryan Dahl
Родитель 38f8665f3a
Коммит 8ff7954165
2 изменённых файлов: 7 добавлений и 2 удалений

Просмотреть файл

@ -112,9 +112,11 @@ fs.readFileSync = function (path, encoding) {
i.copy(buffer,offset,0,i._bytesRead);
offset += i._bytesRead;
})
} else {
} else if (buffers.length) {
//buffers has exactly 1 (possibly zero length) buffer, so this should be a shortcut
buffer = buffers[0].slice(0, buffers[0]._bytesRead);
} else {
buffer = new Buffer(0);
}
if (encoding) buffer = buffer.toString(encoding);

Просмотреть файл

@ -12,4 +12,7 @@ fs.readFile(fn, function(err, data) {
fs.readFile(fn, 'utf8', function(err, data) {
assert.strictEqual('', data);
});
});
assert.ok(fs.readFileSync(fn));
assert.strictEqual('', fs.readFileSync(fn, 'utf8'));