summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/tests/unit/utime_test.ts42
-rw-r--r--cli/tsc/dts/lib.deno.ns.d.ts32
2 files changed, 74 insertions, 0 deletions
diff --git a/cli/tests/unit/utime_test.ts b/cli/tests/unit/utime_test.ts
index 48f4f405a..5101cb376 100644
--- a/cli/tests/unit/utime_test.ts
+++ b/cli/tests/unit/utime_test.ts
@@ -29,6 +29,27 @@ Deno.test(
Deno.test(
{ permissions: { read: true, write: true } },
+ async function fsFileUtimeSyncSuccess() {
+ const testDir = await Deno.makeTempDir();
+ const filename = testDir + "/file.txt";
+ using file = await Deno.open(filename, {
+ create: true,
+ write: true,
+ });
+
+ const atime = 1000;
+ const mtime = 50000;
+ await file.utime(atime, mtime);
+ await file.dataSync();
+
+ const fileInfo = Deno.statSync(filename);
+ assertEquals(fileInfo.atime, new Date(atime * 1000));
+ assertEquals(fileInfo.mtime, new Date(mtime * 1000));
+ },
+);
+
+Deno.test(
+ { permissions: { read: true, write: true } },
function futimeSyncSuccess() {
const testDir = Deno.makeTempDirSync();
const filename = testDir + "/file.txt";
@@ -50,6 +71,27 @@ Deno.test(
Deno.test(
{ permissions: { read: true, write: true } },
+ function futimeSyncSuccess() {
+ const testDir = Deno.makeTempDirSync();
+ const filename = testDir + "/file.txt";
+ using file = Deno.openSync(filename, {
+ create: true,
+ write: true,
+ });
+
+ const atime = 1000;
+ const mtime = 50000;
+ file.utimeSync(atime, mtime);
+ file.dataSyncSync();
+
+ const fileInfo = Deno.statSync(filename);
+ assertEquals(fileInfo.atime, new Date(atime * 1000));
+ assertEquals(fileInfo.mtime, new Date(mtime * 1000));
+ },
+);
+
+Deno.test(
+ { permissions: { read: true, write: true } },
function utimeSyncFileSuccess() {
const testDir = Deno.makeTempDirSync();
const filename = testDir + "/file.txt";
diff --git a/cli/tsc/dts/lib.deno.ns.d.ts b/cli/tsc/dts/lib.deno.ns.d.ts
index ff37abb84..175276b66 100644
--- a/cli/tsc/dts/lib.deno.ns.d.ts
+++ b/cli/tsc/dts/lib.deno.ns.d.ts
@@ -2632,6 +2632,32 @@ declare namespace Deno {
* @category I/O
*/
dataSyncSync(): void;
+ /**
+ * Changes the access (`atime`) and modification (`mtime`) times of the
+ * file stream resource. Given times are either in seconds (UNIX epoch
+ * time) or as `Date` objects.
+ *
+ * ```ts
+ * using file = await Deno.open("file.txt", { create: true, write: true });
+ * await file.utime(1556495550, new Date());
+ * ```
+ *
+ * @category File System
+ */
+ utime(atime: number | Date, mtime: number | Date): Promise<void>;
+ /**
+ * Synchronously changes the access (`atime`) and modification (`mtime`)
+ * times of the file stream resource. Given times are either in seconds
+ * (UNIX epoch time) or as `Date` objects.
+ *
+ * ```ts
+ * using file = Deno.openSync("file.txt", { create: true, write: true });
+ * file.utime(1556495550, new Date());
+ * ```
+ *
+ * @category File System
+ */
+ utimeSync(atime: number | Date, mtime: number | Date): void;
/** Close the file. Closing a file when you are finished with it is
* important to avoid leaking resources.
*
@@ -5379,6 +5405,9 @@ declare namespace Deno {
* Deno.futimeSync(file.rid, 1556495550, new Date());
* ```
*
+ * @deprecated Use {@linkcode Deno.FsFile.utimeSync} instead.
+ * {@linkcode Deno.futimeSync} will be removed in Deno 2.0.
+ *
* @category File System
*/
export function futimeSync(
@@ -5397,6 +5426,9 @@ declare namespace Deno {
* await Deno.futime(file.rid, 1556495550, new Date());
* ```
*
+ * @deprecated Use {@linkcode Deno.FsFile.utime} instead.
+ * {@linkcode Deno.futime} will be removed in Deno 2.0.
+ *
* @category File System
*/
export function futime(