From 47620641e7455a0f9df82d17ad0405693e4427a4 Mon Sep 17 00:00:00 2001 From: Asher Gomez Date: Wed, 24 Jan 2024 11:07:06 +1100 Subject: feat: `FsFile.sync()` and `FsFile.syncSync()` (#22017) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change: 1. Implements `Deno.FsFile.sync()` and `Deno.FsFile.syncSync()`. 2. Deprecates `Deno.fsync()` and `Deno.fsyncSync()` for removal in Deno v2, in favour of the above corresponding methods. Related #21995 --------- Co-authored-by: Bartek IwaƄczuk --- cli/tests/unit/files_test.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'cli/tests') diff --git a/cli/tests/unit/files_test.ts b/cli/tests/unit/files_test.ts index d02471b07..b38a798d7 100644 --- a/cli/tests/unit/files_test.ts +++ b/cli/tests/unit/files_test.ts @@ -860,3 +860,39 @@ Deno.test( await Deno.remove(filename); }, ); + +Deno.test( + { permissions: { read: true, write: true } }, + function fsFileSyncSyncSuccess() { + const filename = Deno.makeTempDirSync() + "/test_fsyncSync.txt"; + const file = Deno.openSync(filename, { + read: true, + write: true, + create: true, + }); + const size = 64; + file.truncateSync(size); + file.syncSync(); + assertEquals(file.statSync().size, size); + file.close(); + Deno.removeSync(filename); + }, +); + +Deno.test( + { permissions: { read: true, write: true } }, + async function fsFileSyncSuccess() { + const filename = (await Deno.makeTempDir()) + "/test_fsync.txt"; + const file = await Deno.open(filename, { + read: true, + write: true, + create: true, + }); + const size = 64; + await file.truncate(size); + await file.sync(); + assertEquals((await file.stat()).size, size); + file.close(); + await Deno.remove(filename); + }, +); -- cgit v1.2.3