From 2f47ec6c3a583c8323a06c386feeaee4fbf75edc Mon Sep 17 00:00:00 2001 From: Asher Gomez Date: Wed, 24 Jan 2024 10:31:52 +1100 Subject: feat: `Deno.FsFile.dataSync()` and `Deno.FsFile.dataSyncSync()` (#22019) This change: 1. Implements `Deno.FsFile.dataSync()` and `Deno.FsFile.dataSyncSync()`. 2. Deprecates `Deno.fdatasync()` and `Deno.fdatasyncSync()` for removal in Deno v2, in favour of the above corresponding methods. 3. Replaces use of `Deno.fdatasync()` and `Deno.fdatasyncSync()` with the above instance methods. Related #21995 --- cli/tests/unit/files_test.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'cli/tests/unit/files_test.ts') diff --git a/cli/tests/unit/files_test.ts b/cli/tests/unit/files_test.ts index 977d6463d..d02471b07 100644 --- a/cli/tests/unit/files_test.ts +++ b/cli/tests/unit/files_test.ts @@ -824,3 +824,39 @@ Deno.test( // calling [Symbol.dispose] after manual close is a no-op }, ); + +Deno.test( + { permissions: { read: true, write: true } }, + function fsFileDatasyncSyncSuccess() { + const filename = Deno.makeTempDirSync() + "/test_fdatasyncSync.txt"; + const file = Deno.openSync(filename, { + read: true, + write: true, + create: true, + }); + const data = new Uint8Array(64); + file.writeSync(data); + file.dataSyncSync(); + assertEquals(Deno.readFileSync(filename), data); + file.close(); + Deno.removeSync(filename); + }, +); + +Deno.test( + { permissions: { read: true, write: true } }, + async function fsFileDatasyncSuccess() { + const filename = (await Deno.makeTempDir()) + "/test_fdatasync.txt"; + const file = await Deno.open(filename, { + read: true, + write: true, + create: true, + }); + const data = new Uint8Array(64); + await file.write(data); + await file.dataSync(); + assertEquals(await Deno.readFile(filename), data); + file.close(); + await Deno.remove(filename); + }, +); -- cgit v1.2.3