From 7becd83a3828b35331d0fcb82c64146e520f154b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Czerniawski?= <33061335+lczerniawski@users.noreply.github.com> Date: Wed, 13 Nov 2024 05:35:04 +0100 Subject: feat(ext/fs): add ctime to Deno.stats and use it in node compat layer (#24801) This PR fixes #24453, by introducing a ctime (using ctime for UNIX and ChangeTime for Windows) to Deno.stats. Co-authored-by: Yoshiya Hinosawa --- tests/unit/stat_test.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'tests/unit/stat_test.ts') diff --git a/tests/unit/stat_test.ts b/tests/unit/stat_test.ts index 59831a069..0609035b4 100644 --- a/tests/unit/stat_test.ts +++ b/tests/unit/stat_test.ts @@ -31,6 +31,13 @@ Deno.test( assert( tempInfo.birthtime === null || now - tempInfo.birthtime.valueOf() < 1000, ); + assert(tempInfo.ctime !== null && now - tempInfo.ctime.valueOf() < 1000); + const mode = tempInfo.mode! & 0o777; + if (Deno.build.os === "windows") { + assertEquals(mode, 0o666); + } else { + assertEquals(mode, 0o600); + } const readmeInfoByUrl = Deno.statSync(pathToAbsoluteFileUrl("README.md")); assert(readmeInfoByUrl.isFile); @@ -65,6 +72,10 @@ Deno.test( tempInfoByUrl.birthtime === null || now - tempInfoByUrl.birthtime.valueOf() < 1000, ); + assert( + tempInfoByUrl.ctime !== null && + now - tempInfoByUrl.ctime.valueOf() < 1000, + ); Deno.removeSync(tempFile, { recursive: true }); Deno.removeSync(tempFileForUrl, { recursive: true }); @@ -171,6 +182,7 @@ Deno.test( assert( tempInfo.birthtime === null || now - tempInfo.birthtime.valueOf() < 1000, ); + assert(tempInfo.ctime !== null && now - tempInfo.ctime.valueOf() < 1000); const tempFileForUrl = await Deno.makeTempFile(); const tempInfoByUrl = await Deno.stat( @@ -191,7 +203,10 @@ Deno.test( tempInfoByUrl.birthtime === null || now - tempInfoByUrl.birthtime.valueOf() < 1000, ); - + assert( + tempInfoByUrl.ctime !== null && + now - tempInfoByUrl.ctime.valueOf() < 1000, + ); Deno.removeSync(tempFile, { recursive: true }); Deno.removeSync(tempFileForUrl, { recursive: true }); }, @@ -271,7 +286,6 @@ Deno.test( const s = Deno.statSync(filename); assert(s.dev !== 0); assert(s.ino === null); - assert(s.mode === null); assert(s.nlink === null); assert(s.uid === null); assert(s.gid === null); -- cgit v1.2.3