From da9219341fe8bcf080d3ebdd03d35cec1268875e Mon Sep 17 00:00:00 2001 From: Casper Beyer Date: Mon, 12 Apr 2021 19:33:05 +0800 Subject: feat(runtime): add stat and statSync methods to Deno.File (#10107) --- cli/tests/unit/file_test.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'cli/tests/unit/file_test.ts') diff --git a/cli/tests/unit/file_test.ts b/cli/tests/unit/file_test.ts index eaafbae27..640198034 100644 --- a/cli/tests/unit/file_test.ts +++ b/cli/tests/unit/file_test.ts @@ -103,3 +103,35 @@ unitTest(function fileUsingNumberFileName(): void { unitTest(function fileUsingEmptyStringFileName(): void { testSecondArgument("", ""); }); + +unitTest({ perms: { read: true } }, function fileStatSyncSuccess(): void { + const file = Deno.openSync("README.md"); + const fileInfo = file.statSync(); + assert(fileInfo.isFile); + assert(!fileInfo.isSymlink); + assert(!fileInfo.isDirectory); + assert(fileInfo.size); + assert(fileInfo.atime); + assert(fileInfo.mtime); + // The `birthtime` field is not available on Linux before kernel version 4.11. + assert(fileInfo.birthtime || Deno.build.os === "linux"); + + file.close(); +}); + +unitTest({ perms: { read: true } }, async function fileStatSuccess(): Promise< + void +> { + const file = await Deno.open("README.md"); + const fileInfo = await file.stat(); + assert(fileInfo.isFile); + assert(!fileInfo.isSymlink); + assert(!fileInfo.isDirectory); + assert(fileInfo.size); + assert(fileInfo.atime); + assert(fileInfo.mtime); + // The `birthtime` field is not available on Linux before kernel version 4.11. + assert(fileInfo.birthtime || Deno.build.os === "linux"); + + file.close(); +}); -- cgit v1.2.3