mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 23:16:30 +01:00
c93e0aaf06
This patch makes buffers the preferred output for fs.read() and fs.readSync(). The old string interface is still supported by converting buffers to strings dynamically. This allows to remove the C++ code for string handling which is also part of this patch.
25 lines
754 B
JavaScript
25 lines
754 B
JavaScript
require('../common');
|
|
var path = require('path'),
|
|
Buffer = require('buffer').Buffer,
|
|
fs = require('fs'),
|
|
filepath = path.join(fixturesDir, 'x.txt'),
|
|
fd = fs.openSync(filepath, 'r'),
|
|
expected = 'xyz\n',
|
|
bufferAsync = new Buffer(expected.length),
|
|
bufferSync = new Buffer(expected.length),
|
|
readCalled = 0;
|
|
|
|
fs.read(fd, bufferAsync, 0, expected.length, 0, function(err, bytesRead) {
|
|
readCalled++;
|
|
|
|
assert.equal(bytesRead, expected.length);
|
|
assert.deepEqual(bufferAsync, new Buffer(expected));
|
|
});
|
|
|
|
var r = fs.readSync(fd, bufferSync, 0, expected.length, 0);
|
|
assert.deepEqual(bufferSync, new Buffer(expected));
|
|
assert.equal(r, expected.length);
|
|
|
|
process.addListener('exit', function() {
|
|
assert.equal(readCalled, 1);
|
|
}); |