Browse Source

test: make sure over truncation of file zero fills

If the file is over truncated, then the rest of the file should be
filled with null bytes. These tests ensure the same.

PR-URL: https://github.com/nodejs/node/pull/7648
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
v6.x
Sakthipriyan Vairamani 8 years ago
committed by Jeremiah Senkpiel
parent
commit
d2179bd6f1
  1. 40
      test/parallel/test-fs-truncate.js

40
test/parallel/test-fs-truncate.js

@ -106,3 +106,43 @@ function testFtruncate(cb) {
});
});
}
// Make sure if the size of the file is smaller than the length then it is
// filled with zeroes.
{
const file1 = path.resolve(tmp, 'truncate-file-1.txt');
fs.writeFileSync(file1, 'Hi');
fs.truncateSync(file1, 4);
assert(fs.readFileSync(file1).equals(Buffer.from('Hi\u0000\u0000')));
}
{
const file2 = path.resolve(tmp, 'truncate-file-2.txt');
fs.writeFileSync(file2, 'Hi');
const fd = fs.openSync(file2, 'r+');
process.on('exit', () => fs.closeSync(fd));
fs.ftruncateSync(fd, 4);
assert(fs.readFileSync(file2).equals(Buffer.from('Hi\u0000\u0000')));
}
{
const file3 = path.resolve(tmp, 'truncate-file-3.txt');
fs.writeFileSync(file3, 'Hi');
fs.truncate(file3, 4, common.mustCall(function(err) {
assert.ifError(err);
assert(fs.readFileSync(file3).equals(Buffer.from('Hi\u0000\u0000')));
}));
}
{
const file4 = path.resolve(tmp, 'truncate-file-4.txt');
fs.writeFileSync(file4, 'Hi');
const fd = fs.openSync(file4, 'r+');
process.on('exit', () => fs.closeSync(fd));
fs.ftruncate(fd, 4, common.mustCall(function(err) {
assert.ifError(err);
assert(fs.readFileSync(file4).equals(Buffer.from('Hi\u0000\u0000')));
}));
}

Loading…
Cancel
Save