diff options
author | Casper Beyer <caspervonb@pm.me> | 2020-06-20 21:46:10 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-20 09:46:10 -0400 |
commit | 86f92e04c79be81f98e5899638cb6fdb29a4fa64 (patch) | |
tree | b106b4551d9ec2e842beefdb4d0f921e27b03aa1 /cli/tests/unit/truncate_test.ts | |
parent | bdf2d26ba1879b2ebeffd4b3a52e23e9254d4f05 (diff) |
feat(unstable): add Deno.ftruncate and ftruncateSync (#6243)
Diffstat (limited to 'cli/tests/unit/truncate_test.ts')
-rw-r--r-- | cli/tests/unit/truncate_test.ts | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/cli/tests/unit/truncate_test.ts b/cli/tests/unit/truncate_test.ts index 014815702..82f8f03eb 100644 --- a/cli/tests/unit/truncate_test.ts +++ b/cli/tests/unit/truncate_test.ts @@ -3,6 +3,50 @@ import { unitTest, assertEquals, assert } from "./test_util.ts"; unitTest( { perms: { read: true, write: true } }, + function ftruncateSyncSuccess(): void { + const filename = Deno.makeTempDirSync() + "/test_ftruncateSync.txt"; + const file = Deno.openSync(filename, { + create: true, + read: true, + write: true, + }); + + Deno.ftruncateSync(file.rid, 20); + assertEquals(Deno.readFileSync(filename).byteLength, 20); + Deno.ftruncateSync(file.rid, 5); + assertEquals(Deno.readFileSync(filename).byteLength, 5); + Deno.ftruncateSync(file.rid, -5); + assertEquals(Deno.readFileSync(filename).byteLength, 0); + + Deno.close(file.rid); + Deno.removeSync(filename); + } +); + +unitTest( + { perms: { read: true, write: true } }, + async function ftruncateSuccess(): Promise<void> { + const filename = Deno.makeTempDirSync() + "/test_ftruncate.txt"; + const file = await Deno.open(filename, { + create: true, + read: true, + write: true, + }); + + await Deno.ftruncate(file.rid, 20); + assertEquals((await Deno.readFile(filename)).byteLength, 20); + await Deno.ftruncate(file.rid, 5); + assertEquals((await Deno.readFile(filename)).byteLength, 5); + await Deno.ftruncate(file.rid, -5); + assertEquals((await Deno.readFile(filename)).byteLength, 0); + + Deno.close(file.rid); + await Deno.remove(filename); + } +); + +unitTest( + { perms: { read: true, write: true } }, function truncateSyncSuccess(): void { const filename = Deno.makeTempDirSync() + "/test_truncateSync.txt"; Deno.writeFileSync(filename, new Uint8Array(5)); |