From 32de714dc72ad865a625d417cf7af95dbc31b798 Mon Sep 17 00:00:00 2001 From: Casper Beyer Date: Tue, 1 Sep 2020 02:29:43 +0800 Subject: feat(unstable): add Deno.futime and Deno.futimeSync (#7266) --- cli/tests/unit/utime_test.ts | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'cli/tests') diff --git a/cli/tests/unit/utime_test.ts b/cli/tests/unit/utime_test.ts index cc68e90cd..185187ef4 100644 --- a/cli/tests/unit/utime_test.ts +++ b/cli/tests/unit/utime_test.ts @@ -13,6 +13,50 @@ function assertFuzzyTimestampEquals(t1: Date | null, t2: Date): void { assert(Math.abs(t1.valueOf() - t2.valueOf()) < 10_000); } +unitTest( + { perms: { read: true, write: true } }, + async function futimeSyncSuccess(): Promise { + const testDir = await Deno.makeTempDir(); + const filename = testDir + "/file.txt"; + const file = await Deno.open(filename, { + create: true, + write: true, + }); + + const atime = 1000; + const mtime = 50000; + await Deno.futime(file.rid, atime, mtime); + await Deno.fdatasync(file.rid); + + const fileInfo = Deno.statSync(filename); + assertFuzzyTimestampEquals(fileInfo.atime, new Date(atime * 1000)); + assertFuzzyTimestampEquals(fileInfo.mtime, new Date(mtime * 1000)); + file.close(); + }, +); + +unitTest( + { perms: { read: true, write: true } }, + function futimeSyncSuccess(): void { + const testDir = Deno.makeTempDirSync(); + const filename = testDir + "/file.txt"; + const file = Deno.openSync(filename, { + create: true, + write: true, + }); + + const atime = 1000; + const mtime = 50000; + Deno.futimeSync(file.rid, atime, mtime); + Deno.fdatasyncSync(file.rid); + + const fileInfo = Deno.statSync(filename); + assertFuzzyTimestampEquals(fileInfo.atime, new Date(atime * 1000)); + assertFuzzyTimestampEquals(fileInfo.mtime, new Date(mtime * 1000)); + file.close(); + }, +); + unitTest( { perms: { read: true, write: true } }, function utimeSyncFileSuccess(): void { -- cgit v1.2.3