mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
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>
This commit is contained in:
parent
df4880de55
commit
82c7a9c40c
@ -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…
Reference in New Issue
Block a user