mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
c82e580a50
Currently, fs.truncate() silently fails when a file descriptor is passed as the first argument. This commit changes this behavior to properly call fs.ftruncate(). PR-URL: https://github.com/joyent/node/pull/9161 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Timothy J Fontaine <tjfontaine@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Conflicts: lib/fs.js
26 lines
617 B
JavaScript
26 lines
617 B
JavaScript
var common = require('../common');
|
|
var assert = require('assert');
|
|
var path = require('path');
|
|
var fs = require('fs');
|
|
var tmp = common.tmpDir;
|
|
if (!fs.existsSync(tmp))
|
|
fs.mkdirSync(tmp);
|
|
var filename = path.resolve(tmp, 'truncate-file.txt');
|
|
|
|
var success = 0;
|
|
|
|
fs.writeFileSync(filename, 'hello world', 'utf8');
|
|
var fd = fs.openSync(filename, 'r+');
|
|
fs.truncate(fd, 5, function(err) {
|
|
assert.ok(!err);
|
|
assert.equal(fs.readFileSync(filename, 'utf8'), 'hello');
|
|
success++;
|
|
});
|
|
|
|
process.on('exit', function() {
|
|
fs.closeSync(fd);
|
|
fs.unlinkSync(filename);
|
|
assert.equal(success, 1);
|
|
console.log('ok');
|
|
});
|